c 11特性之次要語法清除

2021-06-21 15:00:24 字數 569 閱讀 1051

首先,介紹的是兩個新特性在c++11中,他們是次要的,但是在日常程式設計很重要

空格在模版表示式中

要求輸入空格在兩個〉〉之間

vector> //ok,在任何c++表示式中

vector> //ok ,在c++11中

在這本書中 ,你會發現這兩種形式

nullptr和std::nullptr_t

在c++11中,你能夠使用nullptr代替0或者是null作為乙個特殊的指標引用,而不是乙個值,這個新特性幫忙避免了很多錯誤當乙個空指標被乙個整形代替的時候

比如:void  f(int);

void f(void*);

f(0); // call f(int);

f(null); //call f(int) if null is 0 ,否則就是模糊不清的

f(nullptr)// call f(void*);

nullptr是乙個新的鍵值,他自動轉換成任意指標型別而不是整形,他的型別是std::nullptr , 包含在標頭檔案中,因此你可以負載任何操作讓乙個null指標通過,著名的std::nullptr_t以乙個基本的型別來計數的。

c 11特性之std thread 高階

部落格 c 11特性之std thread 初識 std thread 講了std thread join和std thread detach的用法。今天就再來點深入的。先看看這個 int main 一旦 detached,就不能再join 這個時候總要有新東西出場了 joinable includ...

C 11新特性之 nullptr

我們知道在程式設計的世界裡,0有雙重的角色,可以表示整數零,也可以表示乙個空指標。在c語言中,通過預編譯巨集null,可以區分0表示的是零還是 void 0.但是,在c 的世界中,這樣是不可以的。c 中允許函式過載。例如 void foo char void foo int 如果把null定義為0,...

c 11新特性之auto

在早期版本中,auto關鍵字用來宣告具有自動儲存器的區域性變數,auto關鍵字很少被使用,除了靜態變數之外,其它的變數預設是auto的。因此,在c 11中,刪除了原有的功能,並對其重新設計,增加了auto的型別推導功能。template double add t1 a,t2 b int main i...