gpt4 book ai didi

c++ - 用不同的对象实例化 C++ Vector

转载 作者:行者123 更新时间:2023-11-30 01:51:07 24 4
gpt4 key购买 nike

自从我接触 C++ 以来已经有几年了,我在本应轻松的任务上遇到了一些困难。我有一个 VectorObject 对象。 Object 构造函数接受 X 和 Y 坐标。对于 Vector 中的每个 Object,我想用伪随机坐标对其进行实例化。但是,我似乎无法让下面的代码为我工作。任何帮助将不胜感激。

Image::Image(unsigned nObjects)
{
srand(2);
this->nObjects = nObjects;
objects.resize(nObjects);

for(int i = 0; i < nObjects; ++i)
{
objects.insert(new Object(rand(), rand(), rand(), rand()));
}
}

下面是 vector 在图像头文件中的实例化方式:

std::vector<Object> objects;

最佳答案

objects.reserve(nObjects);
for(int i = 0; i < nObjects; ++i)
objects.emplace_back(rand(), rand(), rand(), rand());

请注意,您不能同时执行 resizepush_backemplace_back

关于c++ - 用不同的对象实例化 C++ Vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26519953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com