看到网上很多答案,但是有很多存在问题,自己写一个,全部代码都运行过,对应的错误(即编译器报错也会补充下来)
一、练习2.27:
//(a):
int i=-1;
int &r=0; //[错误:普通的引用不可以绑定字面值] error: non-const lvalue reference to type 'int' cannot bind to a temporary of type 'int'
//(b):
int *const p2 = &i2; //[错误:只有指向常量的指针才能存储常量的地址] error: cannot initialize a variable of type 'int *const' with an rvalue of type 'const int *'
//(c):
const int i=-1, &r=0; //常亮的引用是可以绑定字面值的
//(d):
const int *const p3 = &i2; //p3是指向常量的常量指针,因此可以存放常量的地址
//(e):
const int *p1 = &i2; //只有指向常量的指针才可以存放常量的地址
//(f):
const int &const r2 ; //[错误]error: declaration of reference variable 'r2' requires an initializer
const int &const r2 = i2; //[即使加了初始化也是错误因为引用不是对象不存在 常量引用] error: 'const' qualifier may not be applied to a reference
二、练习2.28 没写完等下再写