我有一个struct init by:
nodeBuf = new Node[num](); //num is some number of different instances of this struct
我知道这会创建我的struct的num实例。但我不确定如何访问每个实例。
我试过nodeBuf [num],不起作用
答案 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; }