CppCoreGuidelines C.12 类的成员数据不可为 const 或引用
06 August 2022
“Don’t make data members const or references”
理由
这样做没啥用。导致该类型很难使用:不能复制,或因为种种原因,部分不能复制。
错误例子
class bad { const int i; // bad string& s; // bad // ... };
const 和 & 的成员数据导致这个类只能部分复制,即可以复制构造,不能复制赋值。
注意
如果你需要让成员指向某些东西,不要用引用,可以用指针(原始指针;智能指针;如果不能为空,可以是 gsl::not_null
)。
强化
标记出有 const、& 或 && 修饰的成员数据。