gpt4 book ai didi

c++ - vector 声明和大小分配

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

这与我的other post有关.这里的建议之一是对类 Region.. 使用 vector ,如以下代码所示。我还有一些初学者的问题 --

a) 如何分配这个 vector a size = numOfRegions?或者我真的需要为 vector 分配一个大小吗?

b) 如何将 Region 类的对象插入此 vector<Region> ?所有这些 Region 对象都需要由 class A 管理

c) 我假设我不需要在类 A 的析构函数中删除这个 vector 。对吗?

struct elemt {
int* vertex;
int foo1;
double foo2;
};


class Region{
public:
std::vector <elemt*> elements;
int info;
}



class A{
public:
std::vector<Region> reg;
const int numOfRegions = 100;
}
A::A(){
// how to create and append Region object to vector std::vector<Region> reg ??
// Do I need to allocate size for this region vector?
}

A::~A(){
//do nothing
// Do I need to delete vector<Region> reg here ??
}

A::doSomething(){

// here I want to append the elements to the vector
// Let i be region 10.
// Let e1 be an element of "struct elemt" that needs to be added

reg[i].elements.push_back(e1);

}

最佳答案

  1. 如果您预先知道 vector 的大小,请调用 vector.reserve。这不是必需的,因为 push_back 会在需要时调整 vector 的大小

  2. vector.push_back(Region());

  3. 你不必删除成员 vector

关于c++ - vector 声明和大小分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2228492/

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