定義乙個距離的字面量,其單位有mm,m,km可以用如下**:
// 使用者自定義字面量
#include long double operator"" _mm(long double value)
long double operator"" _m(long double value)
long double operator"" _km(long double value)
int main()
輸出結果如下:
0.001
11000
注:帶有下劃線 「使用者定義的字面量是有一定限制的,可以參考cppreference._
」。是因為無「_
」的是保留給未來c++標準用的。
字面量運算子僅允許下列形參列表:
( const char * ) (1)
( unsigned long long int ) (2)
( long double ) (3)
( char ) (4)
( wchar_t ) (5)
( char8_t ) (6) (c++20 起)
( char16_t ) (7)
( char32_t ) (8)
( const char * , std::size_t ) (9)
( const wchar_t * , std::size_t ) (10)
( const char8_t * , std::size_t ) (11) (c++20 起)
( const char16_t * , std::size_t ) (12)
( const char32_t * , std::size_t ) (13)
C 11新特性探索 一 原生字串字面量問題
原生字串字面量 是c 11標準引入的用於避免手動將字串換碼的新特性。按照標準要求,其內部的一切文字都將原封不動地 所見即所得地宣告為字串。現在的問題是,預處理指令理應先於一切其他語言特性進行,在一些編譯系統中 如 mingw 預處理階段甚至是由 cpp.exe cpreprocessor 這一單獨的...
c 11常用特性
目錄 一 atomic 1 std atomic flag 2 std atomic 二 std thread 三 std condition variable 四 右值引用 五 std function std bind 六 lambda表示式 atomic flag 一種簡單的原子布林型別,只支...
c 11 特性學習
auto 含義改變,現為自動型別推斷 register c 11之前為建議使用cpu暫存器儲存變數,現在幾乎沒有意義 include include include include include include using namespace std initial intsum initiali...