重载从 int 到 std::string 的转换运算符
Overloading conversion operator from int to std::string
是否可以重载从 int 到 std::string 的转换运算符?是否可以使用此功能:
void printToLog(std::string text);
像这样:
int a = 5;
printToLog(a);
或者这样:
int a = 5;
printToLog(a + " bombs have been planted.");
?
标准库中有一个函数。恰当地命名为 std::to_string
:
int a = 5;
printToLog(std::to_string(a) + " bombs have been planted.");
您不能为此添加转换运算符。这样的运算符只能是class类型的成员,int
不是class类型的成员。您也不能将转换构造函数添加到 std::string
。使用标准为您提供的机制。
是否可以重载从 int 到 std::string 的转换运算符?是否可以使用此功能:
void printToLog(std::string text);
像这样:
int a = 5;
printToLog(a);
或者这样:
int a = 5;
printToLog(a + " bombs have been planted.");
?
标准库中有一个函数。恰当地命名为 std::to_string
:
int a = 5;
printToLog(std::to_string(a) + " bombs have been planted.");
您不能为此添加转换运算符。这样的运算符只能是class类型的成员,int
不是class类型的成员。您也不能将转换构造函数添加到 std::string
。使用标准为您提供的机制。