我有一个很长的初始化器列表,大概是这样的。
std::vector<Inventory> inventory_list = {Inventory(0,30.0),
Inventory(1,30.0),
Inventory(2,30.0),
Inventory(3,30.0),
Inventory(4,30.0),
Inventory(5,30.0),
Inventory(29,30.0),
Inventory(30,30.0),}
..... 有大约72000行这样的初始化器列表,它已经花了半个多小时,还在编译。有没有办法让这个过程更快?或者,对于如此大量的数据,这是意料之中的吗?
发布于 2019-04-05 12:23:20
可以将其视为一种解决方法:
struct InitData
{
int i;
double v;
};
InitData init[] = { {1,30.0}, {2,30.0}, {3,30.0}, {4,30.0}, {5,30.0}, ...};
std::vector<Inventory> inventory_list;
size_t count = sizeof(init) / sizeof(init[0]);
for (size_t i = 0; i < count; i++)
{
inventory_list.push_back(Inventory(init[i].i, init[i].v);
}https://stackoverflow.com/questions/55528189
复制相似问题