1、声明和定义的区别
int k; //声明并定义
extern int k; //声明
extern int k = 10; //定义
2、引用本身不是一个对象,因此不能定义引用的引用,也不能定义指向引用的指针,但是,可以存在对指针的引用。
int i = 10;
int &ri = i;
int &(&rri) = ri; //错误,不能定义引用的引用
int *p = &i;
int *&rp = p; //&rp即为指针p的引用,加*号说明&rp是对指针的引用
3、const对象必须初始化
const int k; //错误,没有初始化