用户自定义字面值运算符需要通过重载运算符函数来创建。以下是一个示例,演示了如何为自定义字面值运算符使用自定义类型:
#include
#include
struct MyString {
std::string str;
MyString(int num) {
str = std::to_string(num);
}
};
MyString operator "" _ms(unsigned long long num) {
return MyString(num);
}
int main() {
MyString ms = 123_ms;
std::cout << ms.str << std::endl; // 输出 123
return 0;
}
在这个示例中,通过将自定义类型“MyString”传递给类型为“unsigned long long”的自定义字面值运算符“operator "" _ms”来创建了自定义字面值运算符。在主函数中,将“123_ms”传递给“ms”,创建了一个“MyString”对象,并输出了其字符串成员(即“123”)。