C C 程式設計 型別

2021-10-21 20:05:33 字數 3988 閱讀 4995

寬字元型別(char16_t、char32_t、 (c++11 起)wchar_t);

有符號整數型別(short int、int、long int、long long int (c++11 起));

無符號整數型別(unsigned short int、unsigned int、unsigned long int、unsigned long long int (c++11 起));

官方文件

示例:

注意:nullptr不是指標

為什麼要引入nullptr:

char

*ch =

null

;

void

foo(

char*)

;void

foo(

int)

;

示例:

#include

#include

void

foo(

char*)

void

foo(

int)

intmain()

#include

#include

voidf(

int*

)voidf(

double*)

void

f(std::nullptr_t)

intmain()

;double

* pd ;f

(pi);f

(pd);f

(nullptr);

// 無 void f(nullptr_t) 可能有歧義

// f(0); // 歧義呼叫:三個函式全部為候選

// f(null); // 若 null 是整數空指標常量則為歧義

// (如在大部分實現中的情況)

// std::is_same:比較兩個型別是否相同

std::nullptr_t

是什麼:

#include

typedef

decltype

(nullptr

) nullptr_t;

示例:

#include

#include

voidf(

int*

)voidf(

double*)

void

f(std::nullptr_t)

intmain()

作用:

// void.cpp

void vobject;

// c2182

void

*pv;

// okay

int*pint;

int i;

intmain()

#include

#include

intmain()

作用:

示例:

作用:

修飾符:大小:

分類:wchar_t

char8_t

char16_t

char32_t

大小:

#include

#include

classa;

intmain()

引用:既存物件或函式的別名語法:注意:

int

& a[3]

;// 錯誤

int&

* p;

// 錯誤

int&

&r;// 錯誤

官方文件:

引用坍縮:

容許通過模板或者typedef中的型別操作

C C 程式設計 long long型別

資料型別long long是c 11中重新定義的,標準規定它最小是64bit 在這之前為了提供超過32bit的整數,各個開發環境 編譯器 分別定義了各自的64bit整數型別。這會導致 不相容 現在,c 11直接定義了long long型別 我猜許多人應該使用過這個型別,當然在c 11之前,這種嘗試會...

C C 程式設計 型別轉換函式

型別轉換函式的語法為 operator type operator 是 c 關鍵字,type 是要轉換的目標型別,data 是要返回的 type 型別的資料。因為要轉換的目標型別是 type,所以返回值 data 也必須是 type 型別。既然已經知道了要返回 type 型別的資料,所以沒有必要再像...

C C 程式設計 返回型別後置

除了建構函式和析構函式之外,函式宣告都需要明確函式的返回型別,在傳統的c c 中,函式宣告大致是這個樣子 int getsum int a,int b 第乙個int就是函式的返回型別,它表明函式的返回值型別為整數。在c 11之後,我們也可以這樣宣告 auto getsum int a,int b i...