这两种类型的向量初始化之间的区别

Difference between these 2 types of vector initialization

我试图在网上搜索但没有找到任何信息。 vector adj[x]是二维向量初始化的一种吗?

vector <vector<int>> test(2);
vector <int> adj[2];

他们的gdb细节也不一样。

(gdb) p test
 = std::vector of length 2, capacity 2 = {std::vector of length 0, capacity 0, std::vector of length 0, capacity 0}
(gdb) p adj
 = {std::vector of length 0, capacity 0, std::vector of length 0, capacity 0}

第一个是向量的向量,其中 2 是构造函数的参数。

第二个是c 风格的向量数组,其中[2] 表示数组中的向量数。这里没有给出构造函数参数。