ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

c-是我还是Cplex Concert API可以使用某些改进?

2019-10-12 14:08:03  阅读:309  来源: 互联网

标签:c cplex


附录:我意识到这篇文章似乎是之以鼻的形式,但是如果您可以纠正我的任何误解,进行澄清,或者更好:帮助我解决迭代器问题,我将非常感谢!我目前正在使用cplex 9(我知道它不是最新的,已经不可用了).

是我还是CPLEX Concert API可以使用某些改进?在我当前看来,说它还有很多不足之处,因为它似乎违反了我见过的几乎所有针对质量C API设计的既定惯例.

著名作品:

>常量设置器方法
> operator []返回引用句柄对象而不是引用

> operator [] const返回不是const的引用句柄,leading to potential errors.

>没有数组迭代器(即使迭代器不适用于并行编程,但在我看来,迭代器仍应可供不太关键的代码使用)
>对于希望将两者混在一起的STL用户(或者,如果不是STL,至少是本身已经与STL兼容的代码,如Boost),则存在极大的开发人员敌意.

>示例:数组类中没有单个typedef,甚至(绝对值和绝对最小值)value_type也没有.

我做了一个数组包装器,这很容易.我做了一个迭代器包装器,没有那么多.由于前两点,迭代器(当前)导致代码在不应该编译时编译!我仍在尝试找到解决方法(我正在使用boost.iterator_facade).

别误会,我了解在设计API时需要权衡取舍.我很清楚,API旨在简化手册(我想像的用户隐藏了与语言有关的注意事项).但是,这样做虽然可以简化C API的设计,但是却使我的代码编写变得更加复杂和耗时,以弥补我目前认为的设计错误.

在罗马时,做罗马人!

我很想听听他们关于这些方面的设计决定的理由.

编辑:我设法使Iterator类工作,在处理过程中,我尽可能地消除了在cplex的对象传递设计中通过迭代器使用的特殊情况下的可用性和正确性缺陷.性能(在从const_iterator返回它们之前克隆可提取对象).剩下(我相信)只剩下第一个显着的缺陷,而如果没有在cplex api中的每个受影响的类型周围附加额外的间接层,则无法纠正该缺陷..不,谢谢,我只需要注意调用频率,当取消引用IloExtractable派生类型的const_iterators.

解决方法:

并不是说这会对您有很大帮助,但是当我从CPLEX 9切换到12时,我无法相信所取得的进步,因为12是免费供学术使用,因此可以使用.

标签:c,cplex
来源: https://codeday.me/bug/20191012/1900810.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有