拷贝赋值运算符的参数应为同类对象的 const 左值引用
6.8.5 ID_nonStdCopyAssignmentParam
拷贝赋值运算符应专注于复制参数的数据,且参数不应按值传递,否则会产生不必要的复制开销以及“对象切片”等问题。
示例:
struct A {
A& operator = (A); // Non-compliant
};
应改为:
struct A {
A& operator = (const A&); // Compliant
};
相关
依据
ISO/IEC 14882:2003 12.8(9)
ISO/IEC 14882:2011 12.8(17)