c 基礎知識雜記 Day9型別轉換運算子

2021-10-06 12:00:00 字數 933 閱讀 3471

1.dynamic_cast

2.const_cast

3.static_cast

4.reinterpret_cast

語法如下:

dynamic_cast(expression)

例:high * p1;

low * p2;

p1 = dynamic_cast(p2);

該運算子的用途是使得能夠在層次結構中向上進行轉換。

const_cast只有一種用途的型別轉換,即改變值為const或volatile。

語法如下:

const_cast(expression)

type_name和expression型別必須相同

例:high bar;

const high *pbar = &bar;

high *pb = const_cast(pbar);

語法如下:

const_cast(expression)

僅當type_name可被隱式轉換為expression所屬的型別或expression可被隱式轉換為type_name所屬的型別時,上述轉換才是合法的。

high bar;

low blow;

high* pb = static_cast(&blow);

low *p1 = static_cast(&bar);

語法如下:

reinterpret_cast(expression)

例:struct dat;

long value = 0xa224b118;

dat * pd = reinterpret_cast(&value);

cout

c 基礎知識day9

1.異常在類層次間的使用 案例 設計乙個陣列類 myarray,過載操作,陣列初始化時,對陣列的個數進行有效檢查 index 0 丟擲異常enegative index 0 丟擲異常 ezero 3 index 1000丟擲異常etoobig 4 index 10 丟擲異常etoosmall 5 e...

day9 函式基礎知識,裝飾器

個人理解裝飾器 無參裝飾器 功能用來拓展函式 為原函式新增其他功能 原則 1 原始碼不動 2 呼叫方式不變 1 既要新增新功能又要保持原函式 不變,那麼只能重新寫乙個函式 以outer函式為例 將原函式傳入outer函式中,然後在outer函式中新增新功能拓展函式,函式的呼叫巢狀 2 但是有要求呼叫...

pwn學習日記Day9 基礎知識積累

if up n and c 接收到的上乙個字元為回車符,而當前接收不到新字元,則 buf buf 1 刪除puts函式輸出的末尾回車符 buf x00 breakputs輸出完後還有其他輸出 if up n and c x 一定要找到洩漏資訊的字串特徵 data buf 1 data x00 bre...