c 中的 const cast轉換

2021-06-20 05:23:34 字數 496 閱讀 8762

**是從微軟那邊手工抄寫的

#include using namespace std;

class cctest

;void cctest::setnumber(int n)

void cctest::printnumber() const

int main()

執行結果:

before:8

const_cast&--:8

after:7

請按任意鍵繼續. . .

從執行結果可以看到,成員變數的值,已經被修改了。括號要加在this上,這點別忘了,否則編譯過不去。

再看看微軟官網的原話

在包含 const_cast的行, this 指標的資料型別是 const cctest *。

const_cast 運算子更改 this 指標的資料型別。 cctest *,允許該成員 number 進行修改。

只轉換次顯示語句的其餘部分的。

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

C 型別轉換詳解 const cast

一.函式描述 const cast type id expression 主要是用來去掉const屬性,當然也可以加上const屬性。主要是用前者,後者很少用。去掉const屬性 const case num 常用,因為不能把乙個const變數直接賦給乙個非const變數,必須要轉換。加上const...