Cppcheck 是 C 和 C++ 的静态分析器。使用 C++ 代码时,我有时会看到检查
returnByReference
函数“foo()”应该通过 const 引用返回成员“bar”。
为什么我应该通过 const 引用返回成员?为什么成员变量与局部变量不同?改变这个有什么好处和坏处?
来自 Cppcheck 2.14.0 文档:
returnByReference:当从 getter 函数按值返回大型类成员时发出警告
优点:不按值传递大对象。
缺点:与内部实现细节紧密耦合。