我正在用 C++ 构建一棵通用树。我简化了我的代码只是为了了解我在做什么。本质上,我想在我的每个树节点中存储一个 char 数组。我知道数组的大小以及数组的大小和内容对于每个节点都是相同的。
我的问题是如何在我的树构造函数中初始化数组?示例设置:
class Tree{
public:
Tree();
private:
struct Node{
Node* lchild;
Node* mchild;
Node* rchild;
Node* parent;
char arr[5];
};
Node* root;
};
所以在我的构造函数中,我将我的根初始化为一个新节点,并将所有指针初始化为 nullptr。
Tree::Tree(){
root = new Node;
root->parent = nullptr;
root->lchild = nullptr;
root->mchild = nullptr;
root->rchild = nullptr;
root->arr[0] = 'a', root->arr[1] = 'b', root->arr[2] = 'c', root->arr[3] = 'd', root->arr[4] = 'e';
}
假设我想初始化我的 char 数组以包含 'a','b','c','d','e'
有没有比手动完成更好的方法?我正在使用 VS 2012。据我所知,它并不完全支持 C++11。
最佳答案
一种方式:
memcpy( arr, "abcde", 5 );
关于c++ - 如何在我的构造函数中初始化树节点内的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33138886/