C++ C+中的整数到字符串转换/整数字符串串联+;-更紧凑的解决方案?

C++ C+中的整数到字符串转换/整数字符串串联+;-更紧凑的解决方案?,c++,string,casting,int,C++,String,Casting,Int,如何做整数->字符串转换已经在互联网上回答了很多次。。。然而,我正在寻找最简洁的“C++方式”来实现这一点 由于您能够使用重载+运算符连接字符串,因此最好能够按照python的思路进行操作 x=(SristValue+STR(ItValue))连接,但我不知道C++中是否有一个规范的方法来实现这一点。p> 我看到的最常见的解决方案是: stringstream:如果可能的话,最好不要用3行代码(声明、写入流、转换为字符串)来连接一些字母和数字 iToA:这是可行的,但是我在寻找一个规范的C++

如何做整数->字符串转换已经在互联网上回答了很多次。。。然而,我正在寻找最简洁的“C++方式”来实现这一点

由于您能够使用重载+运算符连接字符串,因此最好能够按照python的思路进行操作 x=(SristValue+STR(ItValue))连接,但我不知道C++中是否有一个规范的方法来实现这一点。p> 我看到的最常见的解决方案是:

stringstream:如果可能的话,最好不要用3行代码(声明、写入流、转换为字符串)来连接一些字母和数字

iToA:这是可行的,但是我在寻找一个规范的C++解决方案。此外,我认为itoa在技术上是非标准的,尽管我可能错了

BootoFras/Boost词汇转换:这也是可行的,但是在香草C++中没有做这项工作的吗?< /P> <代码>

#include <string>
字符串到整数:
int n=std::stoi(s)


整数到字符串:
std::string s=std::to_string(n)

有3行要转换有什么问题?如果您需要随时使用相同类型的连接,只需将其放入函数中即可。这比使用奇怪的解决方案要好。

stringVariable+boost::lexical_cast(intVariable)
会起作用,但我不确定这是否是个好主意。即使在Python中,类似于
{}{:6f}的格式(stringVariable,intVariable)
也会更常见。

C++11有
std::to_string
,但在C++03中没有“单函数调用解决方案”。另外,
boost::lexical_cast
(尽管专门用于某些情况)和
std::to_string
最终调用
运算符注意,stringstreams实际上完成了这项工作。提示:不要发明(非)问题。:)@Kos只是我的一个宠物,但是它的
std::ostringstream
在这里完成了这项工作。@JamesKanze:要说得很挑剔,实际的转换工作是在适当的
操作符工具中完成的,这是我还不知道的另一个新特性(值得一提的是,它的正式发行时间还不到1年,一些编译器或编译器用户可能还没有赶上!)@Kos:正式发行时间为3.5个月;)(2011-09-01)C++11使我的代码更易于维护。希望作为一个早期采用者不会回来咬我(在编译器支持、公司编码标准等方面)。@daj:好吧,至少随着时间的推移,它会咬你越来越少!