c 11 新特性 (二)

2021-10-01 05:24:50 字數 887 閱讀 2351

1.nullptr 專門形容指標為空

2.強類列舉:

enum direction ;

enum answer ;

3靜態斷言,可在編譯時作判斷

static_assert( size_of(int) == 4 );

4.建構函式的相互呼叫 delegating constructor

class a

a(int x, int y) : a(x, y, 「a」)

{}a() : a(0, 0)

{}private:

int x;

int y;

std::string name;

};5.final 禁止虛函式被重寫

class a

};class b : public a

};報錯!

禁止被繼承

class a final ;

class b : public a ;

報錯!6.override 重寫:主要是檢查重寫的方法對不對得上基類的方法。

class b : public a

};7.可以在定義的時候,給成員初始化!

8.lambda 傳參列表:

[a] a為值傳遞

[a, &b] a為值傳遞,b為引用傳遞

[&] 所有變數都用引用傳遞。當前物件(即this指標)也用引用傳遞。

[=] 所有變數都用值傳遞。當前物件用引用傳遞。

以上內容參考文章

9.tuple:是乙個n元組,可以傳入1個, 2個甚至多個不同型別的資料

auto t1 = make_tuple(1, 2.0, 「c++ 11」);

auto t2 = make_tuple(1, 2.0, 「c++ 11」, );

C 11新特性 二

目錄 default,delete 配合建構函式和拷貝賦值 一起使用 alias template template typedef type alias別名 using noexcept override final decltype lambda 右值引用 對於乙個空的class c 編譯器處理...

C 11新特性總結 二

c 11 引入了一種更為簡單的for語句,這種for語句可以很方便的遍歷容器或其他序列的所有元素 vectorvec for int x vec 如果要定義指向這個陣列的指標呢 int p arr 10 arr 注意 int p arr 10 表示乙個陣列,有10個元素,元素型別是int 如果要定義...

C 11新特性學習筆記(二)

c 11引入了lambda 匿名函式 這樣就可以在乙個函式只需呼叫一次的地方使用了,類似內聯函式。c 11 的 lambda 表示式規範如下 capture params mutable exception attribute ret 1 capture params ret 2 capture p...