“字符串”数组的动态分配[重复]

Posted

技术标签:

【中文标题】“字符串”数组的动态分配[重复]【英文标题】:Dynamic allocation of 'string' arrays [duplicate] 【发布时间】:2017-10-23 18:12:40 【问题描述】:

我试过了

string *codes = (string*)malloc(256*sizeof(string));
codes[0] = "";

在 C++ 中。但它没有用,但是当我尝试时

string *codes = new string[256];
codes[0] = "";

这行得通。 我不明白为什么会发生这种情况的基本思想。谁能告诉我。

谢谢

【问题讨论】:

使用 std::vector<:string>> 【参考方案1】:

这是因为 new 使用给定类的构造函数(在您的情况下:std::string)而 malloc() 不这样做。

【讨论】:

以上是关于“字符串”数组的动态分配[重复]的主要内容,如果未能解决你的问题,请参考以下文章

动态分配数组时的C ++ new vs new [] [重复]

如何在 C++ 中正确使用动态分配的多维数组 [重复]

C分配双精度的动态数组并用memset初始化它[重复]

指针数组的动态内存分配

C语言动态分配二维字符串数组

怎么动态分配指针数组