【发布时间】:2017-08-27 00:44:48
【问题描述】:
我知道如何在 C++ 中创建动态字符串数组:
string* array = new string[10];
但是如何在 C++ 中创建动态字符串的动态数组?我的意思是一个包含string* 对象的动态数组。以及如何初始化每一个动态字符串?
【问题讨论】:
-
你没有。由于您已经在使用
std::string,请使用std::vector<std::string>。 -
首先,不要调用您的变量
array,因为C++ 中已经有一个std::array类。其次,std::vector<std::string> arr(10);执行您的代码尝试执行的操作。 -
您想要一个指向
strings的动态指针数组吗?它看起来像string ** array = new string*[10];后跟一个 for 循环分配array[index] = new string;请注意,您可能认为它的用途较少。很有可能,如果这是您认为自己需要的,那么您就走错了方向。让我们谈谈实际目标,也许有人可以给你一个更好的主意。 -
类
std::string已经包含一个动态字符串对象,std::vector包含一个动态数组对象。所以std::vector<std::string>>实际上做了你想要的。
标签: c++ arrays string memory-management dynamic