C 之const cast常見用法

2021-08-08 10:50:27 字數 585 閱讀 7921

c++提供了四個轉換運算子:

1. const_cast (expression)

2. static_cast (expression)

3. reinterpret_cast (expression)

4. dynamic_cast (expression)

用const_cast來去除const限定

const

int constant = 21;

const

int* const_p = &constant;

int* modifier = const_cast

(const_p);

*modifier = 7;

這樣修飾後,就可以順利編譯通過。

原因:我們可能呼叫了乙個引數不是const的函式,而我們要傳進去的實際引數確實const的,但是我們知道這個函式是不會對引數做修改的。於是我們就需要使用const_cast去除const限定,以便函式能夠接受這個實際引數。

使用const_cast去除const限定的目的絕對不是為了修改它的內容,只是出於無奈

c 中的const cast用法大全

cons程式設計客棧t cast是一種c 運算子,主要是用來去除復合型別中const和volatile屬性 沒有真正去除 const cast 作用 指標或引用的轉換符,用來移除變數的const或volatile限定符。先來看c中不嚴謹的地方 const int ca 30 int q ca c中是...

C 中強制變換之const cast

今天學習了一下c 中的強制轉換,看了const cast,我發現了這個轉換關鍵字的奇怪之處,於是把它記錄一下,廢話不說,先看乙個程式 1 include 2 3using namespace std 45 intmain 6以上程式列印的結果 一開始 pval 和val的值都是5,因為他們指向同一位...

C 型別轉換詳解 const cast

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