【发布时间】:2018-05-23 11:28:58
【问题描述】:
好的,所以我正在使用 C++ 创建一个库,可以帮助我将行打印到控制台中。
所以,我想覆盖 " "(引号运算符)以创建 std::string 而不是字符串文字,以便我更容易将其他数据类型附加到我想要输出的字符串。
我以前在wxWidgets 和他们的wxString 中看到过这种情况,但我不知道我自己该怎么做。
这可能吗?我该怎么做?
我已经尝试过使用此代码,但没有成功:
class PString{
std::string operator""(const char* text, std::size_t len) {
return std::string(text, len);
}
};
我收到此错误:
error: expected suffix identifier
std::string operator""(const char* text, std::size_t len) {
^~
我想,希望我在“”之后添加一个后缀,但我不希望这样。我只想使用“”(引号)。
谢谢!
【问题讨论】:
-
谢谢!如果不是运营商是什么?
-
""是string literals 的一部分。 -
现在说得通了……谢谢:D
标签: string c++11 overriding operators