1

我有一个结构初始化:

nodeBuf = new Node[num](); //num is some number of different instances of this struct

我知道这会创建我的结构的 num 个实例。但我不确定如何访问每个实例。

我试过nodeBuf [num],不工作

4

1 回答 1

2

如果num > 0只有nodeBuf[0]直到nodeBuf[num -1]有效。如果num == 0则不允许通过索引运算符访问元素(= UB)。

样本:

结构节点
{
  标准::字符串名称;
};

无效 f()
{
  整数 = 4;
  Node* nodeBuf = new Node[num];
  nodeBuf[1].name = "测试";
  删除[] 节点缓冲区;
}
于 2012-09-01T22:29:43.460 回答