模板运算符==重载测试

时间:2015-03-08 20:56:11

标签: c++ templates comparison operator-overloading

我正在尝试使用c ++中的链接列表编写我的第一个键入的List。我的想法是将它与我​​作为arduino库的一部分所做的其他模块一起使用,所以我也试图保持它小而有效。在我添加IndexOf函数的部分,所有部分似乎都能正常工作,该函数返回所提供项目的索引。我的问题是,我如何测试列表中类型的值是否等于作为参数传递的相同类型的值?也许它是一个很长的镜头,但可以在内存中比较它们,如果它们具有相同的值和相同的大小,它们必须是相同的......

这是我的班级定义:

template <class T>
class List
{
private:              
    class node_t
    {
    public:
        T data;
        int index;
        node_t *next;
    };

    node_t *head;
    node_t *tail;

public:
    List();
    void Add(T data);              /** Adds object to end of list. */
    bool Contains(T data);         /** Returns true if list contains object. */
    int IndexOf(T data);           /** Returns the zero based index of first occurance. */
    void RemoveAt(int index);      /** Removes the item at index. */  
};

template <class T>
bool operator== (T val, T val2)
{
    return true;
} 

我重载了==运算符,执行此比较但不确定如何完成?

0 个答案:

没有答案