型別轉換 const cast

2021-07-22 02:07:46 字數 509 閱讀 6830

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...