c 11 特性學習

2021-09-26 16:32:26 字數 1211 閱讀 9172

auto 含義改變,現為自動型別推斷

register c++11之前為建議使用cpu暫存器儲存變數,現在幾乎沒有意義

#include

#include

#include

#include

#include

#include

using

namespace std;

//initial

intsum

(initializer_list<

int> li)

return total;

}void

initial()

;int

*a =

newint[5

];class

book

private:}

; book b

;//char ch = ; 進製收窄

cout <<

sum(

)<< endl;

}// declare

template

<

typename t ,

typename m>

auto

name

(t t, m m)

->

decltype

(t * m)

void

exception()

noexcept

//說明函式不會丟擲異常

void

declare()

;decltype

(p) ptr =

null

;decltype

(j) i;

decltype

(*p * j) pj;

p =nullptr

;//不可轉換為整數的空指標

}//lambda

void

lambda()

);//這種只有一條返回語句的寫法會自動判斷型別,下面那種指定返回型別

sort

(num.

begin()

, num.

end(),

(int x,

int y));

for(

auto a : num) cout << a << endl;

}int

main()

C 11新特性學習

lambda表示式用於建立匿名的函式物件,語法為 函式可訪問的的外部變數 函式引數 返回值型別 如 int a 1,b 2 int c b int x int b 表示函式中可以訪問外部變數b,而且引數b是按值傳遞,b 表示引數b是按引用傳遞,表示可以訪問所有外部變數,並且是用按值傳遞方式,類似,也...

C 11 新特性 nullptr 學習

nullptr 出現的目的是為了替代 null。在某種意義上來說,傳統 c 會把 null 0 視為同一種東西,這取決於編譯器如何定義 null,有些編譯器會將 null 定義為 void 0 有些則會直接將其定義為 0。c 不允許直接將 void 隱式轉換到其他型別,但如果 null 被定義為 v...

c 11 新特性學習(1)

1.原始字面量 在 c 11 中新增了定義原始字串的字面量,定義方式為 r 原始字串 其中 兩邊的字串可以省略。原始字面量 r 可以直接表示字串的實際含義,而不需要額外對字串做轉義或連線等操作。如 n t縮排這種 比如 程式設計過程中,使用的字串中常帶有一些特殊字元,對於這些字元往往要做專門的處理,...