C++学习--引用、指针、const限定符
1.引用:
(1)必须初始化,一旦绑定一个对象不可再改变
(2)引用的类型须与绑定对象的类型一致(特例:初始化常量引用时可用任意类型,只要可以转化成引用的类型)
(3)引用不是一个对象(只是被引用对象的别名)
2.CONST限定符:
(1)const对象必须初始化
(2)常量特性只有在改变值时才会发挥作用
2.1“常量引用”:对常量的引用,不能通过引用改变所引用对象的值
ex: int a=2; const double &r1=a;
(1)初始化常量引用时可用任意类型
(2)常量引用可以绑定在非常量类型上
2.2指针和常量:
(1)指向常量的指针:不能通过指针改变所指对象的值;可以指向非常量对象(指针类型必须与所指对象一致的特例)
ex: int a=2; const int *p=&a;
(2)常量指针:指针的值是常量,即指针的指向不能改变;而能不能通过它改变所指对象的值取决于所指对象是否常量
ex: int a=2; int *const p=&a;
必须初始化
2.3顶层const:对象本身是常量
(1)底层const:指针、引用等所指对象为常量
(2)执行拷贝操作时,顶层特性无影响,底层需考虑