1)指向常量的指針變量 指針本身的內容可改變,但不會通過該指針改變所指向的內容。例如: const int MAX=3; const int * iPointer = &MAX; iPointer = new int; 是合法的。 *iPointer=2;//非法 *iPointer += 3;//非法,它不可以改變指針所指向的內容。 應該明確,指向常量的指針是可以指向變量的。下列語句成立: int k=5; const int * iPointer = &k;
2)指向變量的指針常量 (類似引用) 指針本身不會在運行時改變,但是指向內容可以改變。例如: int size = 5; int * const iConstPointer = &size; //指針常量必須在定義的時候初始化確定它的指(內容) iConstPointer = new int;//非法 (* iConstPointer)++;//合法
3) 指向常量的指針常量 不僅是指針本身不能修改,它所指向的內容也不能通過它改變。