我正在尝试使用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;
}
我重载了==运算符,执行此比较但不确定如何完成?