需要一些关于 C++ 中的动态数组的帮助
我所拥有的是一个动态的指针数组,即
Node* nodes;
以及向该数组添加新节点的函数。
void insertNode(Node* nodeT){
nodes = new nodeT;
}
现在我的逻辑可能完全错误,因为我知道执行以下操作会起作用,但我想知道是否有更好的方法而不使用 STL
Node * nodes = new Node(arg);
感谢您提前提供任何帮助。
下面nodes
只表示一个指向一个 Node 对象的指针。
Node * nodes = new Node(arg);
要在多个节点上获取数组,您必须告诉编译器生成一个数组:
Node * nodes = new Node[size]();
然后你可以像这样插入新对象
node[0] = ...
node[1] = ...
或者,当您无法提前确定节点数量时,您可以使用std::vector
.
取决于你需要你的指针。您可以使用:
我个人更喜欢选项2。
选项 1 与选项 2 非常相似,但不是 (T *dat) 而是 (T **dat)
PS 我知道你们中的大多数人会使用 std 来代替(所以请不要判断),但我已经使用了将近 20 年,并且还在没有 std 存在的平台上使用它。已知的功能/行为已经多次证明对我来说是一件好事,可以在时间和安全关键应用程序上进行。
希望能帮助到你
我建议使用std::vector
而不是传统的数组:
std::vector
是安全数组。请拜访: