第三章 使用变量和常量
1.C++11中,可不显式的指定变量的类型,使用关键字auto
auto Number=25;
//使用迭代器遍历vector时
std::vector<int> MyNumbers;
for( auto Iteraor = MyNumbers.begin();Iterator<MyNumbers.end();++Iterator)
cout<<*Iterator<<endl;
2.常量
-
const 将变量声明为常量
在定义后,不可以对常量修改赋值 (强烈不推荐使用#define了)
const double pi=20.0/7;
#define pi 2.14 //Do not use it!!!
-
使用 constexpr常量表达式 声明常量
如果使用const,则在运行阶段执行计算,如果使用constexpr,则在程序编译阶段就可以计算,提高运行速度
constexpr double Getpi() {return 22.0/7;}
constexpr double Twicepi() {return 2*Getpi();}
3.无符号与有符号
无符号的0,减1会导致 环绕 !若访问内存单元时将num作为索引,很可能访问外读内存单元,导致应用程序崩溃!
unsigned short num=0;
num=num-1;
cout<<num<<endl;//output is 65535!