将转换运算符从int重载到std :: string

时间:2017-11-12 16:54:20

标签: c++ operator-overloading std

是否可以将转换运算符从int重载到std :: string?是否可以使用此功能:

newAnimalList = getAnimalList(myAnimLib)

像这样:

void printToLog(std::string text);

或者这个:

int a = 5;
printToLog(a);

1 个答案:

答案 0 :(得分:0)

标准库中有一个功能。恰当地命名为std::to_string

int a = 5;
printToLog(std::to_string(a) + " bombs have been planted.");

您无法为此目的添加转换运算符。这样的运算符只能是类类型的成员,而int不是类类型。你也不能将转换构造函数添加到std::string。使用标准为您提供的机制。