发表评论取消回复
相关阅读
相关 C++人该知道的N个问题与做法:让operator=返回一个& to *this
关于赋值,你可以把它们写成连锁形式: > int x, y, z; > x=y=z=5; > > 赋值采用右结合律,所以上述连锁赋值被解析为:x=(y=(z=5));
相关 条款21 必须返回对象时,别妄想返回其reference
总结: 绝不要返回一个local栈对象的指针或引用;绝不要返回一个被分配的堆对象的引用;绝不要返回一个局部对象有可能同时需要多个这样的对象的指针或引用。 [ 条款4中给出
相关 条款20 宁以pass-by-reference-to-const替换pass-by-value
总结: 1、尽量以pass-by-reference-to-const替换pass-by-value。前者更高效且可以避免切断问题。 2、这条规则并不适用于内建类型及STL
相关 条款11 在operator=中处理“自我赋值”
结论: (1)确保当一个对象自我赋值的时候,operator= 行为良好。其中技术包括比较“来源对象”和“目标对象”的地址、精心周到的语句顺序、以及 copy-and-
相关 条款10 令operator=返回一个reference to *this
总结: 重载赋值运算符(包括所有赋值相关的运算)、前自增和前自减运算符(++a、--a)都返回\this的引用。而后自增和后自减(a++、a--)返回的是对象。关于自增、自减
相关 条款11:在operator=中处理“自我赋值
// 条款11: 在operator=中处理“自我赋值” // 1.确定任何函数如果操作一个以上的对象,而其中多个对象是同一个对象时,其行为仍然正确。
相关 条款10:令operator=返回一个refereglce to this
// 条款10: 令operator=返回一个reference to this。 // Have assignment operators return a
相关 条款21:必须返回对象时,别妄想返回其reference
// 条款21: 必须返回对象时,别妄想返回其reference // 绝不要返回pointer或reference指向一个local stack对象,会返回r
相关 条款20:宁以pass-by-reference-to-const替换pass-by-value
// 条款20: 宁以pass-by-reference-to-const替换pass-by-value // 1.尽量以pass-by-reference-t
相关 Effective C++ 条款10 令operator=返回一个reference to *this 条款11 在operator=中处理"自我赋值"
1. 为了支持形如“a=b=c”的连锁形式,最好令operator=返回一个reference to \this. 2. 如果类中含有用于指向堆内存的指针,那么赋值操作符就要
还没有评论,来说两句吧...