龙空技术网

C++核心准则C.63:移动赋值运算符三原则

面向对象思考 87

前言:

此刻我们对“c语言中等号的运算顺序”大致比较珍视,我们都想要学习一些“c语言中等号的运算顺序”的相关文章。那么小编在网摘上网罗了一些有关“c语言中等号的运算顺序””的相关知识,希望朋友们能喜欢,大家一起来学习一下吧!

C.63: Make move assignment non-virtual, take the parameter by &&, and return by non-const &
C.63:保证移动赋值运算符为非虚函数,参数类型为右值引用,返回值为常量引用类型

Reason(原因)

It is simple and efficient.

这样做简单且高效。

See(参见):

The rule for copy-assignment.

拷贝赋值规则。

相关链接:

Enforcement(实施建议)

Equivalent to what is done for copy-assignment.

和拷贝赋值的情况时所作的相同。

(Simple) An assignment operator should not be virtual. Here be dragons!(简单)赋值运算符不应该是虚函数。那样做很危险。(Simple) An assignment operator should return T& to enable chaining, not alternatives like const T& which interfere with composability and putting objects in containers.(简单)赋值运算符应该返回T&,这样才能实现连续赋值。不要改成类似const T&的类型,这样会影响组装性并妨碍将对象放进容器中。(Moderate) A move assignment operator should (implicitly or explicitly) invoke all base and member move assignment operators.(中等)移动赋值运算符应该(隐式或显式)调用所有的基类和成员的移动赋值运算符。

原文链接

-

觉得本文有帮助?请分享给更多人。

更多精彩文章请关注微信公众号【面向对象思考】!

面向对象开发,面向对象思考!

标签: #c语言中等号的运算顺序