C ++,struct init多个实例

时间:2012-09-01 22:20:21

标签: c++ struct

我有一个struct init by:

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

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

我试过nodeBuf [num],不起作用

1 个答案:

答案 0 :(得分:2)

num > 0只有nodeBuf[0]才有效nodeBuf[num -1]。如果是num == 0,则索引运算符访问元素不是allwed(= UB)。

样品:

struct Node
{
  std::string name;
};

void f()
{
  int num = 4;
  Node* nodeBuf = new Node[num];
  nodeBuf[1].name = "Test";
  delete[] nodeBuf;
}