const char*轉char*,去掉const 屬性

const char* = char*  
char*轉const char* 可以轉。發過來不行
去掉const屬性方法如下:
string str = "aaa";
char* p =const_cast<char*>(str.c_str());
printf("%s",p);

const_cast用來丟棄變量的const聲明,但不能改變變量所指向的對象的const屬性。即:const_cast用於原本非const的對象;如果用於原本const的對象,結果不可預知(C++語言未對此種情況進行規定),請注意我上面用下劃線標示的“變量”vs“對象”這個要自己慢慢體會。
一般情況下const_cast是用於這種情形:const指針(變量)指向非const對象,程序員確認這一點(所指向的對象非const)時,使用const_cast操作符丟棄變量的const修飾獲得一個非const指針,詳見《The C++ Programming language(special edition)》第15.4.2.1節。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章