在休息室谈论巴解组织的问题 - 页 16

 
Vasiliy Sokolov:

在普通的编程语言中(不是C++),禁止重载"="运算符

一种正常的语言是你的夏普?而你唯一知道的是什么?这也很糟糕,否则你就不会说 "接口不是继承 "这样的话了。

你知道,=运算符 在那里,不是作为糖,而是作为一个运算符。 在MQL中,它就在那里--自动生成的,去想吧!"。

而事实上,在MQL中,复制构造函数比你写的那个要方便得多,我甚至不需要告诉你。几年前你是个傻子,现在也是。你只是和丹尼斯这样的人一起提升了你的自我。

 
Комбинатор:

...你刚刚被丹尼斯这样的人提升了自我。

你无法在具体问题上说服我,所以现在你把矛头指向了论坛的其他成员。卑鄙无耻。

(注:他用第三人称和小字把其他人说了,也就是说,没有尊重,"你们在这里都是无名小卒")

 
Vasiliy Sokolov:

在普通的编程语言中(不是C++),禁止重载"="运算符

这对我来说非常方便,尤其是当我大量使用模板时,可以对这个操作符进行重载。我在许多其他情况下也会超载。

而有些运算符重载在某些 语言中几乎是完全被禁止的,因为它作为一种反模式在那里是完全应该的。 我建议在使用任何这样的重载,尤其是赋值运算符之前,应该认真思考一下那些愚蠢的语言的设计师为什么要这样做。

操作符重载的一个典型例子是复数和矩阵。我不认为这有什么错。我一直在写操作符,因为代码不再繁琐,你可以马上看到逻辑。


最简单的

struct MQLTICK : public MqlTick
{
  bool operator >( const double Price ) const
  {
    return(this.bid > Price);
  }

  bool operator <( const double Price ) const
  {
    return(this.ask < Price);
  }
};
 

Vasiliy SokolovCombinator, 请停止说脏话。

否则我们将不得不禁止沃尔昌斯基作为挑衅者 :)

 
Vasiliy Sokolov:

你不能让我知道具体的情况

你不需要更多的细节吗?))用赋值写charp代码? 或者告诉我如何写一个拷贝构造器? 或者用赋值运算符 列出语言? 谈论缺乏具体内容和对我进行错误的指控比承认你在胡说八道容易得多。
 
Rashid Umarov:

否则,我们将不得不禁止Wolchansky作为一个挑衅者 :)

不,那谁来讲故事呢? 最好是我,因为我是煽动者。

 
Vasiliy Sokolov:

我不会被不识字的仇恨者挑衅,我最好解释我的观点。

在普通的编程语言(不是C++)中,禁止对'='运算符进行重载。我建议在使用任何这样 重载,特别是赋值运算符之前,那些希望使用的人要认真思考为什么那些愚蠢的语言的设计者会这样做。

为什么这些是 "正常的编程语言"?

在许多情况下,重载赋值运算符是非常方便的。典型的例子是 "智能指针"。赋值运算符不仅要复制一个指针,还要进行AddRef() - 通过重载,所有这些都是透明地完成的。

为什么它很方便?因为复制指针比复制整个对象更有意义。(在程序的不同地方进行密集的复制,很难看到是否需要这个对象。在这种情况下,智能积分是非常有用的。

当然,还有 "垃圾收集器 "这种东西--但我不太喜欢这种变体,正是因为指针可以完全访问引用和复制计数,而垃圾收集器却不能。更不用说指针会在不再需要的时候立即销毁对象,而垃圾收集器的工作有一定的延迟。

 
George Merts:

当然,也有像 "垃圾收集器 "这样的东西--但我不太喜欢这个选项,正是因为指针可以完全访问引用和复制计数,而垃圾收集器则没有。更不用说指针会在不再需要的时候立即销毁对象,而垃圾收集器的工作有一定的延迟。

嗯哼,GC,即使强行运行,也不一定会删除所有东西。有时这成为一个问题。
 
Vasiliy Sokolov:

我不会被不识字的仇恨者挑衅,我最好解释我的观点。

在普通的编程语言(不是C++)中,禁止对'='运算符进行重载。我建议在使用任何这样的重载,尤其是赋值运算符之前,那些希望使用的人要认真思考,为什么那些愚蠢的语言的设计者会这样做。

忍不住了,个人对Andrei说: 哎呀,不要这样为难自己。你在说这样的傻话:先是关于FP,现在是关于运营商。想hayterite--欢迎:给出权威的参考资料,说明理由,等等。你现在所做的是一种狂热的、最重要的是完全不懂的仇恨。你似乎是一个程序员,甚至像一个真正的程序员--写这种东西是可耻的。


瓦西里,最好能指定语言的名称。"在正常情况下"、"在某些情况下"、"这些 "等短语并不能增加所说内容的可信度。我们是程序员,不是白名单,所以我们的发言要具体。

 
Yuriy Asaulenko:
嗯哼,GC,即使强行灌输,也不一定会删除所有东西。有时这成为一个问题。

如果它认为该对象可能很快会被再次创建,它就不会删除它。