错误、漏洞、问题 - 页 2325 1...231823192320232123222323232423252326232723282329233023312332...3184 新评论 TheXpert 2018.11.22 08:45 #23241 Ilyas: 是否有充分的理由放弃运营商->? Ilyas 2018.11.22 08:48 #23242 TheXpert: 是否有任何充分的理由放弃运营商->?没有,没有什么严重的原因。 缺少它的唯一理由是担心不熟悉C++的用户的不成熟的思想。 Ilyas 2018.11.22 08:50 #23243 fxsaber:双重否定是否被编译器优化了?是的,确实如此。 Koldun Zloy 2018.11.22 09:09 #23244 Ilyas:没有,没有什么严重的原因。 没有它的唯一理由是为了照顾不熟悉C++的用户的脆弱心灵。我认为如果你添加它,不会发生任何坏事。你可以允许使用一个有指针的点,在这个点上没有任何歧义的时间。 当然也要发出警告。 [删除] 2018.11.22 12:45 #23245 如何为市场上的产品添加一个按钮:"下载试用"? A100 2018.11.22 14:08 #23246 Koldun Zloy:我认为如果你添加它,不会发生任何坏事。有一段时间 ,你可能被允许用指针使用一个点,那里没有歧义。 当然也要发出警告。为什么要把它变得如此复杂?这足以使.和->等同,可以互换的记录。 比喻说 #define -> . A100 2018.11.22 14:15 #23247 fxsaber:是的,在你的案例中存在着模糊不清的地方。从好的方面讲,对这种事情至少应该有一个编译器警告。我的情况要简单得多,一切都很清楚。我想C++也同意这一点。 我的 意思是,在我的 案例中,MQL意味着选项(2),而C++则意味着选项(1)。也就是说,你 有想象中的清晰度--(A类)的一个小变化,意义就会急剧变化 fxsaber 2018.11.22 14:20 #23248 A100: 你有想象中的清晰度--(A类)的一个小变化,意义就会发生巨大的变化这是对类的改变,应该会产生相应的编译器信息。 如果它不在那里,那就完全清楚了。 A100 2018.11.22 14:52 #23249 Ilyas:作为一个临时解决方案,使用'!'运算符。(逻辑上不是)。 我们将考虑解决方案(当有很多代码时,我们可以现在改变行为吗?) 对于一个指针来说,bool转换操作有可能是对指针的操作,而不是对其指向的对象的操作。如果不改变现有的代码,它就不会工作...作为动态对象的指针的整个概念崩溃了 我的意思是,而不是只写 class A { public: bool operator*( A* a ) { return true; } }; void OnStart() { A *a, *b; if ( a * b ); //(1) } 我们必须写一个混乱的。 if ( *a * *b );//(2) 而这一切是为了什么?这样就可以检查一个指针是否为空值?- 有一个比较运算符用于此。 if ( a != NULL );//(3) 为什么要重复呢? TheXpert 2018.11.22 15:24 #23250 A100:作为动态对象的指针的整个概念就崩溃了 现在没有这个概念了,一个对象和一个指向它的指针被混在一起。 1...231823192320232123222323232423252326232723282329233023312332...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是否有任何充分的理由放弃运营商->?
没有,没有什么严重的原因。
缺少它的唯一理由是担心不熟悉C++的用户的不成熟的思想。
双重否定是否被编译器优化了?
是的,确实如此。
没有,没有什么严重的原因。
没有它的唯一理由是为了照顾不熟悉C++的用户的脆弱心灵。
我认为如果你添加它,不会发生任何坏事。
你可以允许使用一个有指针的点,在这个点上没有任何歧义的时间。
当然也要发出警告。
我认为如果你添加它,不会发生任何坏事。
有一段时间 ,你可能被允许用指针使用一个点,那里没有歧义。
当然也要发出警告。
为什么要把它变得如此复杂?这足以使.和->等同,可以互换的记录。
比喻说
#define -> .
是的,在你的案例中存在着模糊不清的地方。从好的方面讲,对这种事情至少应该有一个编译器警告。
我的情况要简单得多,一切都很清楚。我想C++也同意这一点。
你有想象中的清晰度--(A类)的一个小变化,意义就会发生巨大的变化
这是对类的改变,应该会产生相应的编译器信息。
如果它不在那里,那就完全清楚了。
作为一个临时解决方案,使用'!'运算符。(逻辑上不是)。
我们将考虑解决方案(当有很多代码时,我们可以现在改变行为吗?)
对于一个指针来说,bool转换操作有可能是对指针的操作,而不是对其指向的对象的操作。
如果不改变现有的代码,它就不会工作...作为动态对象的指针的整个概念崩溃了
我的意思是,而不是只写
我们必须写一个混乱的。
if ( *a * *b );//(2)
而这一切是为了什么?这样就可以检查一个指针是否为空值?- 有一个比较运算符用于此。
为什么要重复呢?
作为动态对象的指针的整个概念就崩溃了