C++中指針常量與常量指針有以下區別:
- 指針常量(Pointer to constant):指針常量是一個指針,它的值是一個常量,即指針指向的地址不可變。可以修改指針存儲的地址,但不能通過指針修改所指向的值。聲明指針常量時,常量修飾符const放在星號*前面。
示例:const int* ptr; // 指針ptr是指向int類型的常量
- 常量指針(Constant pointer):常量指針是一個指針,它指向的地址是一個常量,即指針指向的地址不可變。不能修改指針存儲的地址,但可以通過指針修改所指向的值。聲明常量指針時,常量修飾符const放在星號*后面。
示例:int* const ptr; // 指針ptr是一個常量指針,不能修改指針的地址
總的來說,指針常量和常量指針的區別在于指針常量的值(即指針指向的地址)是常量,而常量指針的地址是常量。