【发布时间】:2014-06-19 22:49:55
【问题描述】:
这是正确的代码还是我应该为接收字符指针的字符串类的成员变量动态分配内存?
#include <iostream>
using namespace std;
class String {
char *string;
public:
String(char *ch) {
string = ch;
}
void print() {
cout << string;
}
};
int main() {
String string("hello");
string.print();
return 0;
}
【问题讨论】:
-
这取决于您的用例。在c++中处理字符串的正确方式是使用
std::string -
你应该断言 ch 指向一个 char 向量而不是 NULL。另外,正如@πάνταῥεῖ所说,你应该使用 std::string
标签: c++ string char dynamic-allocation