寬字元型別(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...