c++ - 如何在我的构造函数中初始化树节点内的数组?

标签 c++ arrays constructor tree

我正在用 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/

相关文章:

C++:函数在输出前自动使用50减去/增加输入数

c++ - 如何比较 int 和 char?

c++ - 这种计算大数的方法是如何工作的?

javascript - d3.js 强制可折叠图 - 输入数据是对象数组

java - 为什么不能在Java中继承构造函数?

c++ - 有没有办法在 Box2D 中启用定点计算?

C++:数组和共享内存

ruby - 如何合并两个哈希数组?

c++ - 我有一个类对象作为另一个类的成员,如何初始化为安全的空状态?

Java构造函数未定义?