后缀模板<T_>

suffix template <T_>

本文关键字:gt lt 后缀      更新时间:2023-10-16

我有两个 sourse 代码一个是我的,另一个是从互联网上获取的,只是我想问一下在两个代码之间使用模板有什么好处什么是节点比我的我的节点代码

template <typename Object>
    struct Node
    {
        Object  data;
        Node   *prev;
        Node   *next;
        Node( const Object & d = Object(), Node * p = nullptr, Node * n = nullptr )
            : data(d), prev(p), next(n){}
        Node( Object && d, Node * p = nullptr, Node * n = nullptr )
            : data( std::move( d )), prev( p), next(n ) { }
    };

其他代码

template<typename T_>
struct node
{
        T_ data;
        node<T_>* prev;
        node<T_>* next;
        node<T_>(T_ t, node<T_>* p, node<T_>* n) : data(t), prev(p), next(n) {}
        node( node && n ) {        // Rvalue move ctor
                data = std::move(n.data);
                prev = std::move(n.prev);
                next = std::move(n.next);
        }
        node& operator = ( node && n ) { // Rvalue = operator
                data = std::move(n.data);
                prev = std::move(n.prev);
                next = std::move(n.next);
                return *this;
        }
};

第二块很差:

    引用
  1. 类模板中的实例化时无需指定模板参数。 即在node<T_>内部,node_node_<T_>
  2. 移动构造函数和移动赋值
  3. 不做任何有用的事情,可能应该删除以支持编译器生成的构造函数和移动赋值。

把事情做大很容易,也很难让事情变得更好。