gpt4 book ai didi

c++ - 使用for循环c++声明一个对象数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:06:51 24 4
gpt4 key购买 nike

好的。所以我声明了一个对象数组,并使用以下代码手动定义了它们:

Object* objects[] =
{
new Object(/*constructor parameters*/),
new Object(/*constructor parameters*/)
};

是否可以使用某种循环(最好是 for 循环)来声明这些?像这样的东西:

Object* objects[] =
{
for(int i=0; i<20; /*number of objects*/ i++)
{
new Object(/*constructor parameters*/);
}
};

但是语法正确吗?

最佳答案

我强烈建议使用标准库容器而不是数组和指针:

#include <vector>

std::vector<Object> objects;

// ...

void inside_some_function()
{
objects.reserve(20);
for (int i = 0; i < 20; ++i)
{
objects.push_back(Object( /* constructor parameters */ ));
}
}

这提供了异常安全并减少了堆上的压力。

关于c++ - 使用for循环c++声明一个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5226352/

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