-1

我在操作员重载方面遇到了很多麻烦。我只是不确定它的用途,以及何时应该使用它来产生所需的结果。这与我的困惑密切相关,即在创建复制构造函数时(据我所知,每当函数按值传递类类型的对象时都会调用该构造函数),通常认为 = 赋值运算符应该被重载并且应该明确定义析构函数。

任何帮助将不胜感激。

4

1 回答 1

0

这是两个问题。关于三法则的问题已在另一个主题中得到解答(剧透:如果您正在实施其中一个,您可能正在管理一个资源,如果您这样做,您应该实施另外两个来管理该资源)。

有关使用运算符重载的简短答案,请比较需要此操作的矩阵库的语法:

M.multiply( a).plus( N).plus( A.multiply( B));

甚至:

plus( plus( multiply( a, M), N), multiply( A,B));

和:

a * M + N + A * B;
于 2012-11-27T01:07:00.650 回答