关于字符串…
CPP中直接写下字符串字面量,类型是const char* 这是一个比较烦人的类型,如何获得string呢?答案是字面量运算符!
这节我们一起了解一下字面量运算符,和用户如何定义自己的运算符
auto s="hello world"; //const char[12];
auto s1 = "hello world"s;
auto s2{ "hello world"s };//string类型
这里其实是使用了字面量定义符
用户自定义字面量运算符
语法
用户定义字面量运算符函数的基本语法如下:
return_type operator"" _suffix (parameter_list) {
// 实现代码
}
return_type
:返回类型,通常是你自定义的类型或标准库类型。_suffix
:字面量的后缀,用户定义的名称,必须以_
开头。parameter_list
:参数列表,通常是unsigned long long
类型的单个参数(用于整数字面量),或long double
类型的单个参数(用于浮点字面量)。
示例
制作一个字符串运算符_s_tan,获得加上叹号的字符串
// 定义用户自定义字面量函数
std::string operator"" _s_tan(const char* str, std::size_t len) {
// 将字符串转换为std::string,并加上'!'
return std::string(str, len) + '!';
}
int main() {
auto result = "hello"_s_tan; // 使用自定义字面量
std::cout << result << std::endl; // 输出 "hello!"
return 0;
}