C 自學08 型別推斷 auto typeid

2021-10-10 03:41:25 字數 1016 閱讀 1686

現在有下面一段**

char16_t a=u'抱'

;

之前說過,宣告乙個char16_t的變數a,但是需要在值前面加上小寫的u,這就有意思了,既然我宣告乙個char16_t,那我加u幹嘛?加u就代表我這是char16_t,但是我前面還宣告char16_t,也就是說,我要用兩個約束,才能做得到a是乙個char16_t,這兩個約束是

1.前面宣告char16_t

2.後面還要加小寫u

我個人覺得沒什麼太大用,但是後面這種多餘的寫法,在c++中可以做型別推斷

1.使用auto先定義乙個值

2.使用typeid(值).name()獲取該值的型別

auto a = u'a'

;//char16_t

auto b =55;

// int

auto c =

666ll

;//long long

auto d =

66l;

//long

auto e = u'a'

;//char32_t

std::cout <<

typeid

(a).

name()

<< std::endl;

std::cout <<

typeid

(b).

name()

<< std::endl;

std::cout <<

typeid

(c).

name()

<< std::endl;

//long long底層型別就是__int64

std::cout <<

typeid

(d).

name()

<< std::endl;

std::cout <<

typeid

(e).

name()

<< std::endl;

6 6 型別推斷

6.6 型別推斷 我們曾經討論過值的型別推斷,知道在 c 3.0 中用 var 關鍵字,在 f 中用 let 繫結。從本節開始,我們將討論由 c 和 f 共有的另乙個方面,當在 c 中呼叫泛型方法時,如 option.some 清單 5.9 或 option.map 清單 6.13 可以顯式指定型別...

c 11 型別推斷

當編譯器能夠在乙個變數的宣告時候就推斷出它的型別,那麼你就能夠用auto關鍵字來作為他們的型別 cpp view plain copy auto x 1 編譯器當然知道x是integer型別的。所以你就不用int了。接觸過泛型程式設計或者api程式設計的人大概可以猜出自動型別推斷是做什麼用的了 幫你...

08 型別轉換

c方式的強制型別轉換 示例 include typedef void pf int 結構體 struct point int main 程式執行結果 c語言強制型別轉換存在的問題 1 過於粗暴 任意型別之間都可以進行轉換,編譯器很難判斷其正確性。2 難於定位 在原始碼中無法快速定位所有使用強制型別轉...