1
我正在尋找一個迭代器的例子,它滿足有限的質量被認爲是一個ForwardIterator,而不是迭代器層次結構中的任何其他東西。什麼是C++ forwarditerator的例子?
我寫了一個程序,打印一個迭代器符合的五個迭代器類別中的哪一個。我已經測試了其他四個迭代器類別。
我正在尋找一個迭代器的例子,它滿足有限的質量被認爲是一個ForwardIterator,而不是迭代器層次結構中的任何其他東西。什麼是C++ 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>>;
}
一個前向迭代器將是一個單向鏈表的迭代器 – NathanOliver