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; }
相關文章
- .net framework新特性之隱式型別化的變數Framework型別變數
- [JAVA] Java 變數、表示式和資料型別詳解Java變數資料型別
- 二、資料型別和表示式資料型別
- 根據表示式得出變數型別的網站變數型別網站
- 三、資料型別和表示式二資料型別
- 資料型別和表示式題目資料型別
- C++11新特性之Lambda表示式C++
- c++11:std::boolalpha、std::noboolalphaC++
- SSIS 資料型別 第二篇:變數的資料型別資料型別變數
- 建立一種新的資料型別資料型別
- 關於隱式資料型別轉換的一些試驗資料型別
- 強型別語言變數和資料型別的理解變數資料型別
- C++11中std::move、std::forward、左右值引用、移動建構函式的測試C++Forward函式
- 透徹理解C++11新特性:右值引用、std::move、std::forwardC++Forward
- std::cout 輸出 unsigned char型別資料型別
- 資料型別的隱式轉換資料型別
- 分析 JavaScript 的資料型別與變數JavaScript資料型別變數
- JS的資料型別和變數(轉)JS資料型別變數
- Julia不同資料型別函式的內部程式碼比較資料型別函式
- C++ 表示式中的型別轉換C++型別
- c++11:std::bindC++
- C++ 中的lambda表示式【C++11版本】C++
- 「C++11」Lambda 表示式C++
- 可變資料型別不能作為python函式的引數資料型別Python函式
- 7. 基本資料型別的內建方法資料型別
- string型別資料的find函式型別函式
- sqlite 資料庫 支援的資料型別 以及常用的函式SQLite資料庫資料型別函式
- 正規表示式刪除字串兩邊的空格字串
- Dart型別變數-表示資訊Dart型別變數
- 資料型別,變數資料型別變數
- ES6引入的新的資料型別資料型別
- 說說 Spring 表示式語言(SpEL)中的各種表示式型別Spring型別
- C++11 std::bind std::function 高階用法C++Function
- std::reserve和std::resize的區別
- c++11:std::is_sameC++
- oracle集合型別的一些基本函式Oracle型別函式
- 可變資料型別(mutable)與不可變資料型別(immutable)總結資料型別
- 【開發篇sql】 條件和表示式(二) 資料型別的比較規則SQL資料型別