Templates 将任何类型转换为字符串c++; 我如何将任何类型转换成C++中的字符串? std::string val; template<typename T> std::string AnyToString(T val) { return (std::string)val; } template<typename T> void SetVal(T val) { this->val = AnyToString(val); } int main() { SetVal(10); return 0; } std::string val; 模板std::string AnyToString(T val){ 返回(std::string)val; } 模板无效设置值(T值){ 此->val=AnyToString(val); } int main(){ SetVal(10); 返回0; }

Templates 将任何类型转换为字符串c++; 我如何将任何类型转换成C++中的字符串? std::string val; template<typename T> std::string AnyToString(T val) { return (std::string)val; } template<typename T> void SetVal(T val) { this->val = AnyToString(val); } int main() { SetVal(10); return 0; } std::string val; 模板std::string AnyToString(T val){ 返回(std::string)val; } 模板无效设置值(T值){ 此->val=AnyToString(val); } int main(){ SetVal(10); 返回0; },templates,type-conversion,Templates,Type Conversion,上面的代码给了我一个错误,无法将int转换为string。 重新解释强制转换、静态强制转换等也不起作用。C++11引入了std::stoi(以及每种数字类型的变体)和std::to_字符串,它们是C atoi和itoa的对应项,但用std::字符串表示 #包括 int-val=5967; std::string s=std::to_string(val);//标准::字符串(“5967”) 同样的问题在:C++11引入了std::stoi(以及每种数字类型的变体)和std::to_字符串,这是

上面的代码给了我一个错误,无法将int转换为string。
重新解释强制转换、静态强制转换等也不起作用。

C++11引入了std::stoi(以及每种数字类型的变体)和std::to_字符串,它们是C atoi和itoa的对应项,但用std::字符串表示

#包括
int-val=5967;
std::string s=std::to_string(val);//标准::字符串(“5967”)

同样的问题在:

C++11引入了std::stoi(以及每种数字类型的变体)和std::to_字符串,这是C atoi和itoa的对应项,但用std::字符串表示

#包括
int-val=5967;
std::string s=std::to_string(val);//标准::字符串(“5967”)

同样的问题在:

首先,一些风格问题:<代码>(STD::String)Valu/Cuth>是C风格的CAST,这是C++社区中不喜欢的东西。有几个缺点,包括缺少类型安全性,并且在大量C++代码中找不到它。C++针对不同的目标引入了不同类型的转换:<代码> STATICORCAST ,<代码>动态> CAST ,<代码> RealTytCase和


但是,您不应该尝试将int“强制”为字符串,这是行不通的。请使用<代码> STD::ToString

首先,一些风格问题:(STD::String)Valu/Cuth>是C风格的CAST,这是C++社区中不喜欢的东西。有几个缺点,包括缺少类型安全性,并且在大量C++代码中找不到它。C++针对不同的目标引入了不同类型的转换:<代码> STATICORCAST ,<代码>动态> CAST ,<代码> RealTytCase和


但是,您不应该尝试将int“强制”为字符串,这是行不通的。请使用
std::to_string

c++98或c++11或更新版本?如果您使用的是c++98,则可以使用
std::ostringstream
。c++98或c++11或更新版本?如果您使用的是c++98,则可以使用
std::ostringstream