【发布时间】:2020-05-01 21:59:15
【问题描述】:
我对这段代码的详细阐述时间有疑问
vector <int> empty_a(120, 0);
vector <vector <int>> empty_b(130, empty_a);
vector <vector <vector <int>>> empty_c(220000, empty_b);
vector <vector <vector <vector <int>>>> res(3);
res[0] = empty_c;
res[1] = empty_c;
res[2] = empty_c;
这是我所知道的将 res 定义为 empty_c 的最快方法。 这需要太多时间。也在:
vector <vector <vector <int>>> empty_c(220000, empty_b);
花很多时间。
有没有最快的方法? 我也在使用 -O3 选项。
谢谢
【问题讨论】:
-
什么是
res?你试过std::move吗? -
这将进行 ton 的分配。最好定义一个适当的类型来立即进行分配并提供您需要的任何访问功能。
-
四个嵌套向量是.....没有。不要那样做。
-
还有,应用是什么?
-
基于场景的应用程序的运筹学研究。我需要一个包含每个场景和每个失败的一些信息的向量。
标签: c++ optimization vector