wic*_*ich 21
第一个const表示指向的数据是常量,可能不会更改,第二个表示指针本身可能不会更改:
char my_char = 'z';
const char* a = &my_char;
char* const b = &my_char;
const char* const c = &my_char;
a = &other_char; //fine
*a = 'c'; //error
b = &other_char; //error
*b = 'c'; //fine
c = &other_char; //error
*c = 'c'; //error
Run Code Online (Sandbox Code Playgroud)
类型声明应该(?)读取RTL. const修改左边的东西,但规则很复杂,因为你可以写两个const T和T const(它们的意思相同).
T * const是一个指向可变T的常量指针T & const将是对可变T的常量引用,除了引用根据定义是常量T const *是一个指向常量T的可变指针T const &是对常数T的引用T const * const是常量指针T常量