本文章属于专栏- 概述 -《业界C++进阶建议整理》-优快云博客
本文列出《Effective C++》的21-30条的个人理解的极精简版本。
- 21、在创建一个新对象时,永远不要返回引用
- 在函数中创建对象,无论是栈上对象(会变成悬空引用),还是堆上对象(容易内存泄漏),都不要返回引用
- 注意operator= 并不是返回一个新的对象,其是返回的自身,所以返回*this的引用
- 22、成员变量全用private
- protected并不比public更有封装性
- 个人见解:对于新的程序,可以保持这样的态度。对于维护程序,有时候代码的一致性更加重要,易于维护
- 23、用non-member、non-friend替换member函数
- 个人见解:对于仅调用多个成员函数的函数,用non-member理论上增加了一点封装性(能访问到私用成员变量的函数越少,封装越好),但是non-member函数需要在另一个地方维护(一般用namespace维护),增加了代码阅读的难度,分散了精力
- 24、当所有参数需要类型转换,使用non-member函数