【发布时间】:2012-05-18 05:31:00
【问题描述】:
这是个好方法吗?
char* array = "blah blah";
char* array2 = "bloh bloh";
string str = string() + array + array2;
不能直接string str = array + array2,不能加2个指针。还是我应该这样做
string str();
str += array;
str += array2;
【问题讨论】:
-
不,混合低级和高级类型不好。
-
顺便说一句,这段代码不再是有效的 C++(使用 C++11),并且即使使用旧的 C++ 来使用已弃用的非常量
char*文字,也应该生成警告.此外,由于most vexing parse,第二个代码无论如何都无法编译。 -
@usoban:
std::string定义从char*到std::string的转换是有原因的。有时你有一个char*需要处理,但没有办法解决。
标签: c++ arrays string char connect