变量和常量
- C++11 引入固定宽度的整型,可以用的位数有8、16、32、64,有符号和无符号,名称形如int8_t、uint8_t,定义需要包含头文件< cstdint >
- auto 用于不显式指明类型的变量,在C++11和更高版本中支持
- typedef用于变量名称的替换
- constexpr用于定义常量表达式
constexpr double GetPi() {return 22.0/7;}
constexpr double TwicePi() {return 2*GetPi();}
//注:其实在<cmath>中M_PI定义了精度相当高的pi值
编译器会将所有的GetPi()替换为3.14,类似函数,可以有传入值,但是不是函数,函数是在程序执行期间被调用。
常量表达式并不一定会进行编译优化,例如表达式返回传入值的二倍,无法优化,会忽略常量表达式关键字当做普通函数处理