声明具有用户输入大小的对象数组

时间:2015-06-11 16:03:27

标签: c++

在C ++中,如何声明具有特定大小的强制字符串类型参数(对于参数化构造函数)的对象数组,其中大小将由用户在运行时提供? 假设顶点'是我的类,它需要一个字符串类型参数来传递给参数化构造函数,同时声明对象的顶点'。 我写的时候

Vertex s=Vertex("xx");

可以声明单个对象。 但我希望数组大小为N,这将在运行时从用户处获得。

简而言之,我想要Vertex obj [N]。实现这一目的的语法是什么?

**我想要为我的类的参数化构造函数传递带有强制字符串参数的对象数组。所述重复链接的问题没有那个标准。**

1 个答案:

答案 0 :(得分:1)

您可以使用std::vector代替数组,它会根据需要增长。

 std::vector<Vertex > vec;

如果用户提供大量数字,则保留向量分配是一个很好的选择,以避免使用std::vector::reserve()

进一步实现向量内存的实现

因此,如果用户输入了一个巨大的数字N,

 vec.reserve(N)