C++编程学习笔记

一、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独自拥有管理内

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值