我有一个任务,我必须创建一个向量并用对象填充它。我找到了这段代码:
Vehicle * v = NULL;
vector<Vehicle*> *highway;
highway = new vector<Vehicle*>;
我理解第一行创建一个名为v
的指针,该指针为空并指向对象Vehicle
。
您能否向我解释其他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对象的指针的向量。
第三行:使用此行创建向量指针。