C++中指針常量與常量指針有以下區(qū)別:
- 指針常量(Pointer to constant):指針常量是一個(gè)指針,它的值是一個(gè)常量,即指針指向的地址不可變??梢孕薷闹羔槾鎯?chǔ)的地址,但不能通過指針修改所指向的值。聲明指針常量時(shí),常量修飾符const放在星號(hào)*前面。
示例:const int* ptr; // 指針ptr是指向int類型的常量
- 常量指針(Constant pointer):常量指針是一個(gè)指針,它指向的地址是一個(gè)常量,即指針指向的地址不可變。不能修改指針存儲(chǔ)的地址,但可以通過指針修改所指向的值。聲明常量指針時(shí),常量修飾符const放在星號(hào)*后面。
示例:int* const ptr; // 指針ptr是一個(gè)常量指針,不能修改指針的地址
總的來說,指針常量和常量指針的區(qū)別在于指針常量的值(即指針指向的地址)是常量,而常量指針的地址是常量。