字面值(literal)指c++源码的里的数字, 字符串等常量, 并可以附加一些前缀或者后缀来进一步描述其类型
auto f=3.14f ; //后缀f表示float类型
auto s=L"wide char"; //前缀L表示wchar_t类型
auto x=0x100L; //前缀0x指示十六进制, 后缀L指示long类型
c++11/14允许自定义字面值, 为字面值增加后缀(但没有开放前缀)
自定义字面值需重载新操作符""(两个连续的双引号), 和普通的重载函数不一样的是, 这里重载后还需另外定义函数名
形式如下:
return_type operator""_suffix(parameter_type)
{}
函数名字必须以下划线开头, 没有下划线开头的后缀将保留给将来使用
自定义字面值函数的参数不是任意的, 只有整数, 浮点数, 字符串等有限形式,
较常用的有(unsigned long long, long double, const char*),
参数只能有1个或两个
当有