C++ 如何使用指针访问向量元素的各个元素?
我想对一个n-数组树进行预排序遍历。我的树节点结构包含一个向量指针成员。那么,我如何迭代地调用成员呢 我想做一些类似的事情:C++ 如何使用指针访问向量元素的各个元素?,c++,vector,narray,C++,Vector,Narray,我想对一个n-数组树进行预排序遍历。我的树节点结构包含一个向量指针成员。那么,我如何迭代地调用成员呢 我想做一些类似的事情: for(i in node->children){ cout<<i; } 对于节点*子节点:节点->子节点{ //对孩子做点什么 } 那么,您当前的代码允许Node*c:Node->children{cout@Botje为什么他需要实现begin和end?Node->children是一个向量。如果OP真的想为Node&c:Node->chil
for(i in node->children){
cout<<i;
}
对于节点*子节点:节点->子节点{
//对孩子做点什么
}
那么,您当前的代码允许Node*c:Node->children{cout@Botje为什么他需要实现begin和end?Node->children是一个向量。如果OP真的想为Node&c:Node->children{…}或者甚至为Node&c:Node{…}编写代码呢?指针向量通常不适合使用。@Botje如果OP想要您的第一种可能性,则有必要更改Node::children,使其具有类型vector而不是vector。如果OP想要您的第二种选项,则有必要为类Nod实现适当的迭代器类型以及开始和结束成员函数E
class Node {
public:
int val;
vector<Node*> children;
Node() {}
Node(int _val, vector<Node*> _children) {
val = _val;
children = _children;
}
};