1.const关键字
当我们定义一种变量,不希望改变其值的时候,使用const关键字来修饰。即常量。使用的时候一定要注意,定义一个常量的时候一定要初始化,且只能在初始化的时候赋值,之后不能进行修改。
2.const引用
这个地方经常纠结,这次一定要搞懂。
常量引用不是引用是个常量,而是引用的对象是个常量。检测常量引用。实际上是对const的引用。
事实上,C++的引用本身就是一个常量,因为这个引用不能变更引用的对象。常量的引用就是引用的对象的值也不能被改变。
使用方法:
const int a;
const int &a1 = a;//常量引用必须引用常量
3.常量指针&指向常量的指针
常量指针是指指针只能指向初始化的对象,不能更改所指向的对象。
定义:int *const pointer = &a;
指向常量的指针是指指针指向的是一个常量,不能修改指向对象的值。
定义:const int * pointer = &a;
区分小窍门:看离指针名近的。常量指针const形容指针的。指向常量的指针是形容所指的内容的。
eg:const int * const pointer = &a;前面的是底层const,后面的是顶层const。
4.常量表达式constexpr类型。
C++11的新标准,当不确定一个常量是否为常量的时候,可以将其定义为constexpr类型,由编译器自动检测。
5.类型处理
第一种是typdef关键字,定义一个数据类型。 eg:typdef double hehe
第二种是using hehe = double
6.auto关键字
使用auto关键字可以自动识别类型。比如一个表达式返回一个类型,但是不想管他的返回类型,就可以直接用auto关键字来定义一个临时变量存储返回类型。
7.decltype关键字
decltype(func())这个的作用是获得这个func函数的返回类型,但是却不调用这个函数!是的!不调用!意思就是说假如这个函数执行了,会返回什么样的类型。
原文地址:http://blog.csdn.net/puppet_master/article/details/44924103