const對變數型別加以限定,使得其具有常量性,只能執行不修改其內容的操作。
在型別轉換運算子中,const_cast可以改變const型別的常量性,使得其可以修改。
下面是const_cast的指標轉換、引用轉換以及單純的指標方法修改const型別
#includeint main()
執行結果是:
005e1798,2,005e1798,2
0028ff04,1,0028ff04,2,0028ff04,2
0028ff00,1,0028ff00,2,0028ff00,2
第一組顯然是成功了。
第二第三組看起來有些奇怪,其實我們也是成功修改了記憶體值,但是由於編譯器的一些處理,使得我們通過變數名訪問的時候依舊只訪問到了初始值。(不同編譯器可能結果不一樣)
const_cast一般還是不要用最好,反正我覺得我可能用不著,也會盡量避免用它的情況。
強制型別轉換 const cast
const cast的作用 一 常量指標 被強轉為 非常量指標,且仍然指向原來的物件 二 常量引用 被強轉為 非常量引用,且仍然指向原來的物件 三 常量物件 被強轉為 非常量物件。例項 如下 1 include 2 using namespace std 34 const int xx 50 5 6...
C 型別轉換詳解 const cast
一.函式描述 const cast type id expression 主要是用來去掉const屬性,當然也可以加上const屬性。主要是用前者,後者很少用。去掉const屬性 const case num 常用,因為不能把乙個const變數直接賦給乙個非const變數,必須要轉換。加上const...
C 型別轉換詳解 const cast
一.函式描述 const cast type id expression 主要是用來去掉const屬性,當然也可以加上const屬性。主要是用前者,後者很少用。去掉const屬性 const case num 常用,因為不能把乙個const變數直接賦給乙個非const變數,必須要轉換。加上const...