針對 C++11/C++14 的 literals,前面已經寫了 part 1 來針對標準提供的 literals 做了一些說明;而接下來這篇,則是來紀錄一下如何自訂屬於自己的 literals、也就是所謂「User-defined literals」(CppReference)。
在定義 User-defined literals 的時候,能支援的格式是有限制的,包括了:
- 整數:(unsigned long long int)
- 浮點數:(long double)
- 字元:(char)、(wchar_t)、(char16_t)、(char32_t)
- 字串:(char,size_t)、(wchar_t,size_t)、(char16_t,size_t)、(char32_t,size_t)
如果不是這些型別的話,是不能編譯的。