溫馨提示×

C++中指針常量與常量指針的區(qū)別是什么

c++
小億
91
2023-08-15 22:14:38
欄目: 編程語言

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

  1. 指針常量(Pointer to constant):指針本身是一個常量,即指針的值不能被修改,但是它所指向的值可以被修改。聲明一個指針常量時,要在指針類型前加上const關(guān)鍵字。

示例:

int num = 10;
const int* ptr = #
*ptr = 20; // 錯誤,無法修改ptr所指向的值
ptr = nullptr; // 正確,可以修改ptr的值
  1. 常量指針(Constant pointer):指針?biāo)赶虻闹凳且粋€常量,即指針指向的值不能被修改,但是指針本身的值可以被修改。聲明一個常量指針時,要在指針名字前加上const關(guān)鍵字。

示例:

int num = 10;
int* const ptr = #
*ptr = 20; // 正確,可以修改ptr所指向的值
ptr = nullptr; // 錯誤,無法修改ptr的值

總結(jié):

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

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

0