cit*_*ane 1 c++ constructor iterator stl
我想知道如何编写一个接受任何STL输入迭代器的自定义类(在本例中是一个链表)的构造函数.我已经创建了一个与我的List类绑定的自定义Iterator类.
这很好用.
template <typename T>
List<T>::List(Iterator beg, Iterator end) : first_(0) {
while (beg != end)
insertLast(*beg++);
}
Run Code Online (Sandbox Code Playgroud)
我已经设法创建一个接收这样的列表迭代器的构造函数.
List<T>::List(typename list<T>::iterator s, typename list<T>::iterator e) :
first_(0) {
while (s != e)
insertLast(*s++);
Run Code Online (Sandbox Code Playgroud)
我的STL-fu对于如何将其概括为接受任何输入迭代器并没有真正意义上的
任何帮助吗?
谢谢!
我认为这很简单:
template <typename T, typename Iterator>
List <T>::List(Iterator beg, Iterator end) : first_(0) {
while (beg != end)
insertLast(*beg++);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2085 次 |
| 最近记录: |