这种方法可行吗?
char* array = "blah blah";
char* array2 = "bloh bloh";
string str = string() + array + array2;
无法直接执行
string str = array + array2
,不能添加两个指针。或者我应该这样做:string str();
str += array;
str += array2;
我会写:
string str = string(array) + array2;
string str;
str += array;
str += array2;
array
和array2
应该是const
char *
类型。有很多方法可以做到这一点:
string str(array);
str += array2;
或者
string str = string(array) + array2;
string str = array + string(array2);
stringstream ss;
ss << array << array2;
char*
文字。此外,由于最令人烦恼的解析,第二个代码无论如何都无法编译。 - Konrad Rudolphstd::string
定义从char*
到std::string
的转换是有原因的。有时你必须处理char*
,而且没有其他方法。 - Ed S.