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>