C++系列
[Cpp基础] [05] const与constexpr
Const Expression, constexpr 是一个非常复杂的话题, 幸运的是, 我们在实践中 需要记住的内容并不太多,因为常见的应用场景其实比较简单. const限定符 * const是一种编译期特性,用于限定对象的编译期写入权限, 编译器也可能将const对象视作constexpr进行优化. * 理论上可以通过各种trick在运行期写入对象,但是不要这么做. * 当项目很大,或者开发人员很多时,使用const就能利用编译器约束开发人员的行为,给开发人员做一定提醒. * 原则上,当我们创建一个变量时,若认为它不应当被修改,就应当声明称const型.最常用的场合是函数形参/返回值中的const T &. * const限定的全局对象默认是static的,不会跨文件共享,正因此,若const对象可能被共享,也应当优先定义在头文件中. * const在与指针联用时,要注意限定的部分.规定:若限定指针自身为不可写,则将const写在*右侧;若是指向的对象不可写,则const写在*左侧. * 若const用于限定对象自身不可写