const
const int x = 0;//不能改变x的值
局部:栈区
全局:代码区,不可以改变
const int *p;//指针指向的内容不能通过指针去修改
int const *p//同上
int * const p;//指针本身是常量,不可改变,数组名就是这种指针
const char *str = "string"//代码区
"abcdef" --> const char *类型
char * a;
const char *b;
b = a;//OK
a = b;//警告
const:常量
const int a = 10;//a是常量,不可以修改
int const a = 10;//和上面一样
(1)
int a = 5;
const int *p = &a;
int b = 20;
//*p = 20;//错误,不可以用指针去修改该指针指向的空间
a = 10;//可以修改,只是不可以通过指针去改变
p = &b;//p本身是指针变量,可以再指向其他空间
(2)
int a = 5;
int b = 10;
int * const p = &a;
//p = &b;//错误 不可以再重新赋值
*p = 20;//可以修改p指向的那个空间的值
(3)
const int * const p = &a;
//*p = 20;//错误,不可以修改
//p = &b; //错误,不可以修改
const int x = 0;//不能改变x的值
局部:栈区
全局:代码区,不可以改变
const int *p;//指针指向的内容不能通过指针去修改
int const *p//同上
int * const p;//指针本身是常量,不可改变,数组名就是这种指针
const char *str = "string"//代码区
"abcdef" --> const char *类型
char * a;
const char *b;
b = a;//OK
a = b;//警告
const:常量
const int a = 10;//a是常量,不可以修改
int const a = 10;//和上面一样
(1)
int a = 5;
const int *p = &a;
int b = 20;
//*p = 20;//错误,不可以用指针去修改该指针指向的空间
a = 10;//可以修改,只是不可以通过指针去改变
p = &b;//p本身是指针变量,可以再指向其他空间
(2)
int a = 5;
int b = 10;
int * const p = &a;
//p = &b;//错误 不可以再重新赋值
*p = 20;//可以修改p指向的那个空间的值
(3)
const int * const p = &a;
//*p = 20;//错误,不可以修改
//p = &b; //错误,不可以修改
本文详细解析了C++中const修饰符的应用场景及其对变量和指针的影响。包括const修饰基本类型的变量、指针指向的值、指针本身等不同情况下的行为表现,并提供了示例代码帮助理解。

被折叠的 条评论
为什么被折叠?



