Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1676839
  • 博文数量: 184
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2388
  • 用 户 组: 普通用户
  • 注册时间: 2016-12-21 22:26
个人简介

90后空巢老码农

文章分类

全部博文(184)

文章存档

2021年(26)

2020年(56)

2019年(54)

2018年(47)

2017年(1)

我的朋友

分类: C/C++

2021-02-24 10:26:51

1. 对于单纯的常量,最好以const对象或者enums替换#defines
2. 对于形似函数的宏,最好改用inline函数替换#defines
3. const_cast: 移除/添加变量const属性
4. 将一些东西声明为const可以帮助编译器侦测出错误用法
5. mutable可以逃逸const成员函数
6. 当const和non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可以避免代码重复,需要先将*this使用static_cast添加const,然后返回结果的时候,使用const_cast去掉const
7. 如果类中的成员变量是const或reference,就一定要在初始化列表当中初始化,不能被赋值
8. 为内置对象(POD)进行手工初始化,因为C++不保证初始化它们
9. 为免除“跨编译单元的初始化次序”问题,以函数内的static对象,替换之,返回该static对象的引用。(函数内的local static对象会在“该函数被调用期间”,“首次遇上该对象的定义”时被初始化
阅读(1151) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~