如何在没有 std 的情况下创建值数组和指针数组的副本?

How to create a copy of an array of values and an array of pointers without std?

提问人:Саша Волотко 提问时间:11/18/2021 更新时间:11/18/2021 访问量:73

问:

我不知道如何复制这个结构:

struct Node {
private:
    int *keys_;
    int min_degree_;
    Node **children_;
    int count_;
    bool is_leaf_;
    ...

好吧,我明白了其中的一半:

Node(Node const &node) {
    min_degree_ = node.min_degree_;
    is_leaf_ = node.is_leaf_;
    count_ = node.count_;
    ...
}

如何在没有 std 的情况下复制值 array(int *keys_) 和指针数组(Node **children_) 尚不清楚。必须删除原始对象,以便可以复制引用,尽管我不确定。

C++ 结构 复制构造函数

评论

0赞 Peter Lee 11/18/2021
结构本身不包含 *keys_, *children_ 指向的数组的数据。因此,如果你复制这个结构,你只需复制这些指针(数组的地址)。如果要复制 *key_ 和 *children_ 指向的数据,则必须知道数组长度,将它们复制到内存中的某个位置,获取内存地址并将新地址设置为新结构中的 *key_、*children_。建议在与他们合作之前对指针进行研究,否则,你会像我一样经历如此多的痛苦:D
0赞 Jarod42 11/18/2021
“没有性病是不清楚的”。用 std 做 :-)如果无法使用 std,请创建所需的 std 组件的简化版本。
0赞 Community 11/20/2021
请澄清您的具体问题或提供其他详细信息,以准确说明您的需求。正如目前所写的那样,很难确切地说出你在问什么。

答: 暂无答案