c++ string 拼接 int错误

程序中用到字符串和int合成字符串,受java习惯的影响,直接进行了字符串与int的+操作,结果不正确。查了一下才明白问题所在,记录一下
string str=”abc”+1;
输出为:bc,因为”abc”为const char[],加1实际是地址+1,因此输出为bc。
string str=”abc”+’$’
输入出为空。因为字符自动转换成int值,而“abc”地址加上这个int值超过了其地址范围,因此结果为空或者未知。
可用的方式:
#include<sstream>
stringstream ss;
int a=123;
ss<<a;
string b=a.str()

posted @ 2014-02-27 21:38  anexplore  阅读(2204)  评论(1编辑  收藏  举报