C++项目代码经验规范记录(持续记录)

一:头文件不许使用using namespace ...,可以在源文件中使用。

原因:主要原因就是防止名字重复(即自定义变量名和std中名字重复),因为头文件会被很多地方使用,你不知道这个using能覆盖多大范围。

二:类成员变量以m_开头

三:多层循环时候,大循环放里面,小循环放外面。

原因:一般CPU使用到分支预测技术,减少指令跳转的时候重新获取新指令。但具体项目中,因为数据存储结构或者其他原因,也有可能导致大循环放在外面效率比较高。一般采用大循环放里面,小循环放外面。

四:Boost运用场景

代码中尽量少用boost库,使用boost库会增加编译时间。如果不在于编译时间,可以使用。有些公司使用C++11,无法使用C++11以上的特性,新特性是为了提高代码的可读性和效率。很多的新特性都是从boost库中提取的。只有在功能缺失的情况下,才考虑使用boost库的功能。

五:模板的运用场景

考虑编译时间就尽量少用模板,模板会极大的提升编译时长,模板不要滥用就好了,不要为了炫技去用。

六:类中的指针成员

  1. 里面需要定义指针类型的成员变量的时候,不要使用裸指针,而使用智能指针——unique_ptr, shared_ptr等。
  2. 优先使用C++STL里面的容器,因为这些容器已经定义了正确的移动语义。

以MyString为例子,如果它的成员变量m_data被定义为unique_ptr<char[]>,那么我们就不用去手动实现移动构造函数以及移动赋值函数了。把这些工作交给编译器就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值