我的初始化列表很长,像这样。
std::vector<std::int64_t>
大约有72000行这样的初始化程序列表,它已经用了半个多小时并且仍在编译中。有没有办法使它更快?还是对如此大量的数据有这种期望?
答案 0 :(得分:0)
将此作为解决方法:
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);
}
答案 1 :(得分:0)
另一种实施方式,
Inventory I[] = { {1,30.0},{2,30.0},{3,30.0},{4,30.0 },{5,30.0},{29,30.0 },{30,30.0}};
std::vector<Inventory> inventory_list (I,I+(sizeof(I)/sizeof(Inventory)));