C++ vector,这段代码是什么意思?

标签 c++

我有这个代码:

 const int maxnodes = 5000;
 struct Edge 
 {
   int to, rev;
   int f, cap;
 };

 vector<Edge> g[maxnodes];

这很好理解,但我在后面的几行中看到它用作

 Edge &e = g[u][j];

这里,'u,j' 是整数。什么是 "g[u][j]"'g' 是用 'Edge' 结构填充的 vector ,它怎么能像数组的数组一样?

我知道 Edge &e 是一个引用,它正在接收一个 'Edge' 结构,但我对 'g[u][j 感到困惑]'.

源代码是here

提前致谢! :)

最佳答案

int nodes = maxnodes, src, dest;

这意味着所有都是整数并且节点是用maxnodes初始化的

vector<Edge> g[maxnodes]是 vector 数组。

vector 就像一个动态数组。 g[x] 将指向一个 vector 。 g[x][y] 将指向一个 Edge 。

关于C++ vector,这段代码是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36130509/

相关文章:

c++ - 在#include 预处理器命令中使用 qmake 变量

c++ - 指向 char 数组的指针,指针的值不是地址?

c++ - 将预编译的 HLSL 着色器加载到内存中以与 CreatePixelShader 一起使用

c++ - 基本混淆程序

c++ - Linux:WAITING PID 死亡

c++ - odeint 隐式欧拉简单示例

c++ - C/C++分配DWORD数组的指针地址

c++ - Copy Constructor C++编译错误

c++ - STL:从A到B的自然数集

c++ - 大量警告会增加编译时间吗?