温馨提示×

C++中指针常量与常量指针的区别是什么

c++
小亿
90
2023-08-15 22:14:38
栏目: 编程语言

在C++中,指针常量和常量指针是不同的概念。

  1. 指针常量(Pointer to constant):指针本身是一个常量,即指针的值不能被修改,但是它所指向的值可以被修改。声明一个指针常量时,要在指针类型前加上const关键字。

示例:

int num = 10;
const int* ptr = #
*ptr = 20; // 错误,无法修改ptr所指向的值
ptr = nullptr; // 正确,可以修改ptr的值
  1. 常量指针(Constant pointer):指针所指向的值是一个常量,即指针指向的值不能被修改,但是指针本身的值可以被修改。声明一个常量指针时,要在指针名字前加上const关键字。

示例:

int num = 10;
int* const ptr = #
*ptr = 20; // 正确,可以修改ptr所指向的值
ptr = nullptr; // 错误,无法修改ptr的值

总结:

  • 指针常量是一个常量指针的值不可修改,所指向的值可以修改;

  • 常量指针是一个指针指向的值不可修改,指针本身的值可以修改。

0