如何使用指针填充对象的向量

时间:2016-01-17 13:24:40

标签: c++ pointers object vector

我有一个任务,我必须创建一个向量并用对象填充它。我找到了这段代码:

Vehicle * v = NULL;
vector<Vehicle*> *highway;
highway = new vector<Vehicle*>;

我理解第一行创建一个名为v的指针,该指针为空并指向对象Vehicle

您能否向我解释其他2行如何工作?为什么在创建向量时使用指针?

2 个答案:

答案 0 :(得分:1)

以下是逐行简要说明:

Vehicle * v = NULL;

定义v类型的指针Vehicle并将其初始化为NULL

vector<Vehicle*> *highway;

定义highway类型的指针vector<Vehicle*>

highway = new vector<Vehicle*>;

动态分配vector<Vehicle*>并将其分配给向量highway

看看std::vector并确保理解为什么最后两行没有多大意义。

现在,回答这个问题:

  

如何使用指针填充带有对象的向量?

要填充动态分配的矢量,您可以写:

highway->push_back(Vehicle_Element);    

答案 1 :(得分:0)

第一行:您创建一个类型为&#34; Vehicle&#34;的指针。它没有指向一个对象,因为它是NULL。它什么都没有。您必须创建一个对象,如:

{{1}}

第二行:与第一行相同的结构:您创建一个类型为&#34; vector&#34;的指针。现在它没有指向任何地方。如果您创建(参见第三行),则指向一个指向带有指向Vehicle对象的指针的向量。

第三行:使用此行创建向量指针。