首先list不同于string和vector他是链式结构,所以需要对他的每个节点自定义.并且每个节点要包含上或下节点的指针.因为struct在c++中升级成了类所以她也需要几大默认函数,但同时他也适用结构体.于是图片中对节点进行了声明和完成了构造函数.
完成了list节点的构造就要开始list类的成员函数和成员变量了.这里有好几层构造,先是_list_node的构造然后才是list中节点的构造,感觉这里的思想很重要,接下来是实现头插的部分,按照循环链表的基本步骤来,
接下来是比较特殊的地方,迭代器,list的迭代器需要另建一个类,
这个类其中的成员变量是_list_node类型也就是和list中节点的类型相同,用于接收list的begin和end位置的指针,但是迭代器不一定都是指针.既然迭代器是一个类那么她就要有成员变量和构造函数,之后在实现他其中的一些运算符重载,
最后加强记忆:函数传参时一定要考虑加引用和加const,这个很有用,可以避免不必要的麻烦.
tips:当使用类模板时无论什么时候类后面都要用<>来显示类中的元素,
标签:迭代,实现,list,构造,构造函数,节点,指针 From: https://www.cnblogs.com/qjwxlj/p/17301338.html