C++ 11:user-defined literals(用户定义字面量)
user-defined literals(用户定义字面量)
通过定义用户定义的后缀,允许整数、浮点数、字符及字符串字面量产生用户定义类型的对象。
1-4) 用户定义整数字面量,例如 12_km
5-6) 用户定义浮点字面量,例如 0.5_Pa
7) 用户定义字符字面量,例如 ‘c’_X
8) 用户定义字符串字面量,例如 “abd”_L 或 u"xyz"_M
十进制字面量 - 与整数字面量中相同,非零的十进制数位后随零或多个十进制数位
八进制字面量 - 与整数字面量中相同,零后随零或多个八进制数位
十六进制字面量 - 与整数字面量中相同,0x 或 0X 后随一个或多个十六进制数位
二进制字面量 - 与整数字面量中相同,0b 或 0B 后随一或多个二进制数位
数字序列 - 与浮点字面量中相同,一个十进制数字序列
分数常量 - 与浮点字面量中相同,要么是一个后随小数点的 数字序列(123.),要么是一个可选的 数字序列 后随小数点和另一个 数字序列(1.0 或 .12)
指数部分 - 与浮点字面量中相同,字母 e 或字母 E 后随可选的正负号,后随 数字序列
字符字面量 - 与字符字面量中相同
字符串字面量 - 与字符串字面量中相同,包括原始字符串字面量
用户定义后缀 - 标识符,由字面量运算符或字面量运算符模板声明引入(见下文)。所有程序引入的 用户定义后缀 必须以下划线字符_
开始。标准库的 用户定义后缀 不以下划线开始。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Vinda's Blog!
评论