我有一个结构初始化:
nodeBuf = new Node[num](); //num is some number of different instances of this struct
我知道这会创建我的结构的 num 个实例。但我不确定如何访问每个实例。
我试过 nodeBuf[num],没用
最佳答案
如果num > 0
只有nodeBuf[0]
直到nodeBuf[num -1]
有效。如果 num == 0
则索引运算符访问元素不是全部 (= UB)。
示例:
struct Node { std::string name; }; void f() { int num = 4; Node* nodeBuf = new Node[num]; nodeBuf[1].name = "Test"; delete[] nodeBuf; }
关于C++,struct init 多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12231871/