C++11:一些微小的變化(新的資料型別、template表示式內的空格、nullptr、std::nullptr_t)
- 本文介紹一些C++的兩個新特性,它們雖然微小,但對你的程式設計十分重要
一、新的資料型別
- C++11新增的新的資料型別如下:
- char16_t、char32_t
- long long、unsigned long long
- std::nullptr_t(下面詳細介紹)
二、Template表示式內的空格
- C++11標準之前建議在“在兩個template表示式的閉符之間放一個空格”的要求已經過時了
- 例如:
vector<list<int> >; //C++11之前
vector<list<int>>; //C++11
三、nullptr
- C++11允許你使用nullptr取代0或NULL,用來表示一個pointer(指標)指向所謂的no value
- nullptr會被自動轉換為各種pointer型別,但是不會被轉換為任何證書型別
演示案例
void f(int); void f(void*); f(0); //呼叫f(int) f(NULL); //如果NULL被視為0,那麼呼叫的是f(int),可能與你的預期不符 f(nullptr); //呼叫f(void*)
- 下面是在VS 2015上面的執行結果
三、std::nullptr_t
- std::nullptr_t是一種基礎資料型別,定義於<sctddef>中
- std::nullptr_t定義的變數必須初始化
- nullptr屬於一種常量,它是屬於std::nullptr_t資料型別的
演示案例
void f(int) { std::cout << "int" << std::endl; } void f(void*) { std::cout << "void*" << std::endl; } void f(std::nullptr_t) { std::cout << "std::nullptr_t" << std::endl; } int main() { f(0); f(NULL); f(nullptr); //必須初始化 std::nullptr_t t = nullptr; f(t); return 0; }
相關文章
- [JAVA] Java 變數、表示式和資料型別詳解Java變數資料型別
- 資料型別和表示式題目資料型別
- SSIS 資料型別 第二篇:變數的資料型別資料型別變數
- c++11:std::boolalpha、std::noboolalphaC++
- Dart型別變數-表示資訊Dart型別變數
- std::cout 輸出 unsigned char型別資料型別
- C++11中std::move、std::forward、左右值引用、移動建構函式的測試C++Forward函式
- 建立一種新的資料型別資料型別
- 強型別語言變數和資料型別的理解變數資料型別
- 可變資料型別不能作為python函式的引數資料型別Python函式
- string型別資料的find函式型別函式
- C++ 表示式中的型別轉換C++型別
- 分析 JavaScript 的資料型別與變數JavaScript資料型別變數
- 透徹理解C++11新特性:右值引用、std::move、std::forwardC++Forward
- c++11:std::bindC++
- 說說 Spring 表示式語言(SpEL)中的各種表示式型別Spring型別
- 正規表示式刪除字串兩邊的空格字串
- C++/C++11中std numeric limits的使用C++MIT
- 7. 基本資料型別的內建方法資料型別
- Debug: calc() 未生效 <= 內嵌樣式表示式需使用空格分隔
- std::reserve和std::resize的區別
- c++11:std::is_sameC++
- 資料型別,變數資料型別變數
- 去掉字串前後所有空格的正規表示式字串
- C++ 中的lambda表示式【C++11版本】C++
- 可變資料型別(mutable)與不可變資料型別(immutable)總結資料型別
- JavaScript中的變數、資料型別以及運算子JavaScript變數資料型別
- 大樓的基石 資料型別 變數與常量資料型別變數
- [Redis] 淺談Redis內的幾種資料型別Redis資料型別
- 新的Lakehouse,遲來的資料正規化轉變
- MySQL 的資料型別MySql資料型別
- JS的資料型別JS資料型別
- javaScript的資料型別JavaScript資料型別
- float double 型別資料極值表示型別
- 編號函式 自定義函式 集合型別 表的優化 資料傾斜函式型別優化
- Java 支援的資料型別與 MySQL 支援的資料型別對比Java資料型別MySql
- Java中的基本資料型別與引用資料型別Java資料型別
- 說說 Python 的變數以及簡單資料型別Python變數資料型別