访问和制作班级指针的向量来创建多个对象

accessing and making vectors of class pointers to create multiple objects

本文关键字:向量 创建 对象 指针 访问      更新时间:2023-10-16

g'day,

我正在尝试在C 中实现建筑商设计模式,从本质上讲,我遵循了YouTube的Derek Banas的指南,该指南位于Java,并试图将其移开。它实际上好的了,除此之外,一切都可以。

所以,我现在拥有的是

ToyBuilder* toy = new NormalToyBuilder( __multiple parameters__ );

理想情况下,我想要的就是

QVector<ToyBuilder*> toys;
For(int i=0; i<4 ; i++){
        toys[i] = new NormalToyBuilder( __different parameters[i]__);
}

我的主要问题,以及我在这里发布此问题的原因是,我什至不确定在堆栈溢出上搜索什么。一系列指针?,对象的向量?我只能说所有潜在的搜索尝试都是徒劳的。

我并不完全坚持使用向量,这只是我在这种情况下可以考虑的最明显的事情。我已经陷入困境了。

任何帮助将不胜感激。

预先感谢。

使用std::vector

std::vector<ToyBuilder> toys;
for (int i = 0; i < 4; i++) {
    toys.push_back(NormalToyBuilder(...));
}

您可能不使用new,只将对象直接放入向量而不是指针。但是,如果这样做,应该是:

std::vector<ToyBuilder*> toys;
for (int i = 0; i < 4; i++) {
    toys.push_back(new NormalToyBuilder(...));
}

根据您使用这些指针的方式,您可能需要使用智能指针类,例如std::shared_ptr而不是原始指针。