struct A
{
double x;
double y;
constexpr A(double _x = 0.0, double _y = 0.0) :x(_x), y(_y) {}//预算
};
std::list< A>B
如上述程序所示,使用链表B的时候,由于数据过多导致B不停申请空间,造成所编写的程序很卡,如何给B预申请一个很大的空间呢?大约可以存储3000个以上的单位即可,谢谢大哥们!!!
据我所知list没有说预分配内存的操作,都是插入一个元素分配一段内存。vector有,reserve函数可以预分配一段大的内存,而不构造对象,等插入的时候再调用复制构造函数。
int main(void) {
struct A *a;
a = (struct A *)malloc(3000);
// 此处省略一万行代码......
free(a);
return 0;
}
这样使用!
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,欢迎您加入CSDN!
目前问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632