注册 登录
编程论坛 C++教室

关于字符串相加

wenwentidere 发布于 2012-07-07 12:40, 627 次点击
string a="hello",b;
b=a+"!";是对的
b="hello"+"!";是错的
为什么,这两个不是一样的么?
2 回复
#2
lonmaor2012-07-07 12:48
两个字符串字面值(或者叫常量字符数组 const char*)相加等于什么?c++未定义是否为它们两个重新分配数据空间或是创造一个临时变量。
#3
hellovfp2012-07-07 13:11
如同L版所说:
C++中的string模版类未定义两个常量字符串相加操作。
你可以使用b += "hello";  b += "!";来代替这个操作。
也可以使用istringstream 来替代两个常量字符串相加操作。
1