你可以把一個(gè)const類型的指針轉(zhuǎn)換成非const類型的指針,你也可以把非const類型的指針轉(zhuǎn)換成const類型的指針,但是你要確定源類型和目的類型是同一類型只不過是有沒有const的區(qū)別。
請(qǐng)看下圖:
再看下圖:
因?yàn)閏onst char *和const int *是不同類型所以轉(zhuǎn)換失敗了。
這個(gè)C語言的強(qiáng)制類型轉(zhuǎn)換不同,因?yàn)镃語言的強(qiáng)制類型轉(zhuǎn)換太強(qiáng)大了,不好控制,它可以做到不同類型之間的轉(zhuǎn)換,你容易轉(zhuǎn)亂。
所以,const_cast更安全。