gpt4 book ai didi

C++:从对象 vector 中释放内存

转载 作者:行者123 更新时间:2023-11-30 01:43:23 25 4
gpt4 key购买 nike

<分区>

在这种情况下,我的程序开始变慢并最终停止。我猜这是因为没有以正确的方式索取内存。谁能帮我在这种情况下释放内存的正确方法是什么?

简化定义:

typedef struct {
std::string name;
std::vector<metric_t> metrics;
} region_t;


typedef struct {
std::string name;
std::vector<region_t> regions;
} data_t;


typedef struct {
std::string name;
std::vector<double> means;
} metric_t;

主循环:

for(int i = 0; i < 100; i++)
{
data_t data;
prepare_data(&data);

/* Usage of data here */
}

准备数据函数:

void prepare_data(data_t * data)
{
region_t new_region;

data->regions.push_back(new_region);

for(int j=0; j< 100000; j++)
{
metric_t new_metric;
/* put some data in new_metric */
data->regions.back().metrics.push_back(new_metric);
}
}

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