【发布时间】:2014-10-02 11:24:35
【问题描述】:
假设我创建了一个类
class Foo
{
public:
Foo(int numofCars, int someValue);
private:
vector<Car> carList;
}
Foo::Foo(int numofCars, int someValue)
{
carList.resize(numofCars);
}
我的理解是,在调整向量大小后(carList 是一个空的vector)将通过调用默认构造函数成为Car 对象的列表。
我可以指定被调用的Car 对象的构造函数吗?例如,我不想打电话给Car(),而是打电话给Car(int Value)?
【问题讨论】:
-
你的代码不是合法的 c++..
-
阅读this。
-
@ikh 谢谢,已编辑。
-
您可以使用
emplace_back将新元素添加到调用您想要的构造函数的向量中,并避免任何副本。
标签: c++ vector constructor c++03