C 11 14特性備忘

2021-10-07 09:36:25 字數 1580 閱讀 6066

template

auto

add(t x, u y)

int array=

;for

(auto

&x : array)

#include

//建構函式列表初始化

class magic };

magic magic =

;std:

:vector<

int> v =

;//普通函式形參

void

func

(std:

:initializer_list<

int> list)

func()

;//初始化任意物件

struct a

;struct b

private:

int a;

float b;};

a a

;// 統一的初始化語法

b b

;

template class std:

:vector

;// 強行例項化

extern template class std:

:vector<

double

>

;// 不在該編譯檔案中例項化模板

typedef

int(

*process)

(void*)

;// 定義了乙個返回型別為 int,引數為 void* 的函式指標型別,名字叫做 process

using process =

int(*)

(void*)

;// 同上, 更加直觀

template

using newtype = sucktype<

int, t,

1>

;// 合法

class base 

base

(int value)

:base()

};intmain()

class base 

base

(int value)

:base()

};class subclass : public base

;int

main()

template 

t add

(const t lva ,

const t rva)

template 

class myclass ;

template

template

type_1 myclass::

add(

const type_1 lva,

const type_2 rva)

侯捷 C 2 0新特性(C 11 14)

一 語言特性之演進 環境與資源 二 語言特性之 variadic templates 可變引數模板 三 語言特性之 模板表示式中的空格 nullptr auto 四 語言特性之 一致性初始化 initializer list 基於範圍的for迴圈 explicit 五 語言特性之 default,d...

C 11 14 簡易推薦小記

之前了解過一些c 新標準的內容,覺得很不錯,在此寫篇小記,簡易推薦一下 容器內元素操作是個很普通的需求,工作中應是屢見不鮮,這裡假設有個list 容器,儲存的是一系列 intc 表達一下,大概是這個樣子 ifndef test 1 h define test 1 h include include ...

C 11 14 自動型別推導 auto

從c 11起,auto關鍵字不再表示儲存型別,而是成為了隱式型別定義關鍵字,其作用是讓編譯器在編譯期 便自動推斷出變數的型別。例如 auto a 1 a 為 int 型變數 auto ptr new auto 1 auto 1 int 1 ptr 為 int 型指標變數 const auto q a...