一、C++通用指南
通用的编程指南建议如下:
保持函数简洁,保持代码简洁;
关注编程技术,而不是语言特点;
函数应该执行单个逻辑操作, 不要把多个功能放在同一个函数实现;
当函数在不同类型执行相同任务时,使用函数重载;
如果函数在编译期能确定,那么使用constexpr关键字修饰;
避免复杂表达式;
避免变窄转换,防止精度丢失,比如float类型转为int类型;
变量的作用域最小化,能用局部变量就不要声明为全局变量;
避免魔术常量,使用符号常量;
优先考虑不可变的数据,比如参数不用修改,就声明为const;
避免相似的命名,防止产生歧义;
对于具有命名类型的声明,首选大括号{}来初始化;
使用auto关键字避免重复类型命名;
避免未初始化的变量;
仅在位运算时使用unsigned修饰符;
保持指针的使用简单直接;
使用nullptr,而不用0或者NULL;
能用代码表达,就不用过多注释;
保持一致的缩进样式;
避免使用goto跳转;
使用==代替strcmp来判断字符串是否相等;
使用new代替malloc来申请内存;
不要用longjmp(),不要用exit(),而是抛出异常;
使用<chrono>代替<ctime>,如果用到时间;
二、智能指针与内存
C++提供三种智能指针:shared_ptr、unique_ptr和weak_ptr,而auto_ptr已经过时不建议使用。智能指针用于管理内存分配与释放,其中shared_ptr采用引用计数法,当计数为0就会释放内存,对象共享一段内存;而unique_ptr独自拥有管理内
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



