1

私は構造体の初期化を持っています:

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

これにより、構造体の num インスタンスが作成されることを理解しています。しかし、各インスタンスにアクセスする方法がわかりません。

nodeBuf[num] を試しましたが、動作しません

4

1 に答える 1

2

までのnum > 0み有効な場合。その場合、インデックス演算子による要素へのアクセスは許可されません(= UB)。nodeBuf[0]nodeBuf[num -1]num == 0

サンプル:

構造体ノード
{{
  std :: string name;
};

void f()
{{
  int num = 4;
  Node * nodeBuf = new Node [num];
  nodeBuf [1] .name="テスト";
  delete [] nodeBuf;
}
于 2012-09-01T22:29:43.460 に答える