const int x1=;//常量写法1
int const x2=;//常量写法2
int x3=;
int * const p1=&x3;//指针常量(指针类型的常量,对象是指针类型的,指针本身是常量,顶层const)
const int* p2=&x1;//指向常量的指针(指针本身是变量,指向的数据是常量,底层const)
const int* const p4=&x1;//指向常量的指针常量(顶层+底层const)
const new_type p5=&x3;//指向变量的指针常量(相当于const (int*) p4=&x3;首先p4是常量,指向一个int变量,顶层const) int& r1=x3;
const int & r2=x1;//常量引用写法1
int const & r3=x2;//常量引用写法2 //引用不是对象,初始化后就不能改变,故引用只区别指向常量or不指向常量
float pi=3.14;
//int &x=pi;非法,因为这样不同类型的引用绑定实际上是声明一个临时量int tmp=pi;int &x=tmp;
//绑定一个临时量的引用无意义,因为不能改变原来的pi值,故c++直接报错
05-26 06:01