什么是 C++ forwarditerator 的例子?
What is an example of a c++ forwarditerator?
我正在寻找一个迭代器的例子,它满足被认为是 ForwardIterator 的有限质量,同时不是迭代器层次结构中的任何其他东西。
我写了一个程序,打印迭代器符合五个迭代器类别中的哪一个。我已经针对其他四个迭代器类别对其进行了测试。
一个典型的例子是std::forward_list<T>::iterator
。测试片段:
#include <iostream>
#include <iterator>
#include <forward_list>
#include <vector>
template<typename T>
bool test = std::is_same <
typename std::iterator_traits <
typename T::iterator
>::iterator_category,
std::forward_iterator_tag
>::value ;
int main()
{
// test wheter std::forward_list's iterator is a forward_iterator
std::cout << std::boolalpha << test<std::forward_list<int>> << std::endl;
// what about std::vector?
std::cout << std::boolalpha << test<std::vector<int>>;
}
我正在寻找一个迭代器的例子,它满足被认为是 ForwardIterator 的有限质量,同时不是迭代器层次结构中的任何其他东西。
我写了一个程序,打印迭代器符合五个迭代器类别中的哪一个。我已经针对其他四个迭代器类别对其进行了测试。
一个典型的例子是std::forward_list<T>::iterator
。测试片段:
#include <iostream>
#include <iterator>
#include <forward_list>
#include <vector>
template<typename T>
bool test = std::is_same <
typename std::iterator_traits <
typename T::iterator
>::iterator_category,
std::forward_iterator_tag
>::value ;
int main()
{
// test wheter std::forward_list's iterator is a forward_iterator
std::cout << std::boolalpha << test<std::forward_list<int>> << std::endl;
// what about std::vector?
std::cout << std::boolalpha << test<std::vector<int>>;
}