C++ 动态分配';字符串';阵列

C++ 动态分配';字符串';阵列,c++,string,dynamic-allocation,C++,String,Dynamic Allocation,我试过这个 string *codes = (string*)malloc(256*sizeof(string)); codes[0] = ""; C++中的P>但它不起作用,但当我试着 string *codes = new string[256]; codes[0] = ""; 这起作用了。 我不明白为什么会发生这样的事情。有人能告诉我吗 感谢这是因为new使用给定类的构造函数(在您的示例中:std::string),而malloc()不这样做。这是因为new使用给定类的构造函数(在您的

我试过这个

string *codes = (string*)malloc(256*sizeof(string));
codes[0] = "";
C++中的P>但它不起作用,但当我试着

string *codes = new string[256];
codes[0] = "";
这起作用了。 我不明白为什么会发生这样的事情。有人能告诉我吗


感谢这是因为
new
使用给定类的构造函数(在您的示例中:
std::string
),而
malloc()不这样做。

这是因为
new
使用给定类的构造函数(在您的示例中:
std::string
)和
malloc()
不这样做。

使用std::vector>使用std::vector>