首页 > 解决方案 > 什么是“使用unique_ptr::unique_ptr”是什么意思?

问题描述

我正在阅读一些 C++ 代码,但不知道是哪一行:

using unique_ptr<Node<Key, Data>>::unique_ptr;

在下面的代码块中意味着:

...
using std::unique_ptr;

template <class Key, class Data>
class Node;

template <class Key, class Data>
class Tree : public unique_ptr<Node<Key, Data>>
{
    using unique_ptr<Node<Key, Data>>::unique_ptr;

    // Copy constructor
    Tree(unique_ptr<Node<Key, Data>>&tree) {
        *this = tree;
    }

    // Move constructor
    Tree(unique_ptr<Node<Key, Data>>&& tree) : 
         unique_ptr<Node<Key, Data>> (move(tree)) {
    }
    ...
}

template <class Key, class Data>
class Node {
    ...
}

我认为关键字using::组合用于导入该类的属性或函数。线路有什么作用?

PS:在 Node 类中没有称为 unique_ptr 的属性或函数。

标签: c++c++14usingunique-ptrsuperclass

解决方案


推荐阅读