C++现在还在学习阶段,看完了C++ primer plus。特性都知道,不过具体的使用场景还是模糊,于是就想用C++写一遍数据结构和算法。就说链表,linked list。
我的问题:要怎样实现链表,才算是味道纯正的C++呢?我想到的有以下这几项:
1、使用template来编写 class LinkedList
2、struct Node,需要自带constructor:
Node (const & Object d = Object(), Node * p = NULL, Node * n = NULL)
: data(d), prev(p), next(n){}
3、用iterator来进行访问操作,需要同时提供const_iterator 和 iterator 这两个nested class。
4、对于iterator,需要对++itr; itr++; ==; != 这几项进行运算符重载。
现在能想到的就是这些了,不知道这样实现的C++代码,是否算得上是味道纯正的C++呢?不知道算不算执念,总觉得没有用到以上这些,至多算是用C 加上 STL和C++ library的拼凑。
耽误各位对C++有经验点儿时间,跪谢了!
我的问题:要怎样实现链表,才算是味道纯正的C++呢?我想到的有以下这几项:
1、使用template来编写 class LinkedList
2、struct Node,需要自带constructor:
Node (const & Object d = Object(), Node * p = NULL, Node * n = NULL)
: data(d), prev(p), next(n){}
3、用iterator来进行访问操作,需要同时提供const_iterator 和 iterator 这两个nested class。
4、对于iterator,需要对++itr; itr++; ==; != 这几项进行运算符重载。
现在能想到的就是这些了,不知道这样实现的C++代码,是否算得上是味道纯正的C++呢?不知道算不算执念,总觉得没有用到以上这些,至多算是用C 加上 STL和C++ library的拼凑。
耽误各位对C++有经验点儿时间,跪谢了!
