1,如果利用一个变量去初始化另一个变量,它们是不是const都无关紧要
2,默认状态下,const对象仅在文件内有效,如果想在多个文件之间共享const对象必须在变量的定义之前添加extern关键字,例如:
// file.cpp
extern const int ibufSize = 3;//定义并初始化了一个常量,该常量能被其他文件访问
// file.h
extern const int ibufSize;//与file.cpp 中定义的bufSize是同一个
3,const 限定对象等的值得不可修改性
4,const对象不可赋值给一个非常量对象
5,对const的引用可能引用一个并非const的对象
6,指向常量的指针不能用于改变其指对象的值,要想存放常量对象的地址只能使用指向常量的指针,允许令一个指向常量的指针指向一个非常量对象
7,常量指针必须初始化,而且一旦初始化完成,则它的值(也就是存放在指针中的那个地址)无法再改变
decltype 类型指示符(C++ 11新特性):
decltype 类型指示符:选择并返回操作数的数据类型,在此过程中,编译器分析表达式并得到它的类型,却不实际计算表达式的值:
decltype (fu()) sum=x; //sum 的类型就是函数f的返回类型
decltype返回该变量的类型
decltype针对于加括号的变量基本类型会视为表达式,得到的是引用,必须初始化