我试过了:
vector<int <vector> > Graph(100000, vector<int> (100000)) ;
和
vector<bool<vector> >Graph (100000,vector<bool> (100000)) ;
和
bool Graph [100000][100000] ;
......但他们都没有工作。
答案 0 :(得分:2)
创建矢量矢量的正确方法是:
vector<vector <int> > Graph(100000, vector<int> (100000));
但请注意,此数组将占用10 ^ 5 * 10 ^ 5 * 4 = 400亿字节(假设您的int为32位)或大约40 GB的RAM。当然,你必须拥有那么多的记忆。
答案 1 :(得分:1)
做得好
int wMyArray[100000][100000];
会给你这个编译时错误:error C2148: total size of array must not exceed 0x7fffffff bytes
然后用vector执行:
std::vector<std::vector<int>> wMyVector(100000, std::vector<int>(100000));
wMyVector.back().back();
只需要永远加载,您实际上可以看到加载时工作字节数量的增加。
不确定你真的想这样做。