const关键字可以放在指针类型前面或者变量名后面这有什么区别
时间: 2023-09-08 09:12:27 浏览: 132
const 与 指针
在C++中,const关键字可以用于修饰指针类型或变量名,放在指针类型前面或者变量名后面都可以起到限制变量被修改的作用,但是它们的作用范围是不同的。
- 如果const关键字放在指针类型前面,表示该指针所指向的值是只读的,不能通过该指针修改所指向的值。
- 如果const关键字放在变量名后面,表示该变量是只读的,不能被修改。
例如:
```C++
const int *p; // 声明一个指向只读整型的指针,不能通过该指针修改所指向的整型值
int const *p; // 同上,const关键字可以放在类型前面或变量名后面
int * const p; // 声明一个只读指针,该指针不能指向其他变量,但是可以通过该指针修改所指向的变量值
const int x = 10; // 声明一个只读整型变量x,不能修改x的值
int const x = 10; // 同上,const关键字可以放在类型前面或变量名后面
```
需要注意的是,如果同时使用const关键字修饰指针类型和变量名,那么指针类型前面的const关键字会覆盖变量名后面的const关键字,例如:
```C++
const int * const p; // 声明一个只读指针,该指针不能指向其他变量,也不能通过该指针修改所指向的变量值
```
阅读全文