我试过这个
string *codes = (string*)malloc(256*sizeof(string));
codes[0] = "";
在C ++中。但它没有用,但是当我尝试时
string *codes = new string[256];
codes[0] = "";
这很有用。 我不明白为什么会发生这种情况的基本想法。有人可以告诉我。
由于
答案 0 :(得分:3)
这是因为new
使用了给定类的构造函数(在您的情况下:std::string
)而malloc()
不执行此操作。