iterator-traits

    3热度

    1回答

    参考,例如,该段从cplusplus.com: template <class InputIterator, class T> typename iterator_traits<InputIterator>::difference_type count(InputIterator first, InputIterator last, const T& val) { typename

    3热度

    1回答

    我有以下代码: template<typename T, typename Allocator = std::allocator<T> > class Carray { // ... typedef T* pointer; typedef pointer iterator; // ... }; 现在我想为iterator_traits做局部的专业化。

    2热度

    2回答

    作为一个Scala初学者,我试图为Iterator的Iterator表达式中的每个项目实现一个计数器,并在for表达式中检索和处理以及每次新迭代时递增一个计数器通过表达式的一个“循环”(外循环和嵌套循环)开始。要求完成此操作时不需要在for表达式中的多个位置处放置像counter = counter + 1这样的语句。 以下列表显示了我对此问题提出的解决方案,我想知道为什么方法next实现Iter

    7热度

    1回答

    是否需要ForwardIterators作为OutputIterators?我目前的STL实现(VS2012)从input_iterator_tag和output_iterator_tag中派生出forward_iterator_tag,但我在标准[N3485]中找不到这个要求。

    7热度

    1回答

    如何以规范的方式定义C++ 11中的forward-output-iterators? 根据标准,forward_iterator只是一个input_iterator。所以相应的forward_iterator_tag只延伸input_iterator_tag。如果我们使用std::iterator来定义我们的迭代器,我们使用什么标签作为前向输出迭代器? 定义一个可以扩展forward_itera

    1热度

    3回答

    我有一个类型 typedef std::pair<ConstIterator, ConstIterator> Range; 与 typedef typename std::vector<T>::const_iterator ConstIterator; 的推断值的类型我现在想使用std :: iterator_traits来推断类型的迭代器范围指向。 有没有人请告诉我,我可以如何实现这一点

    1热度

    1回答

    我试图获得关于iterator_traits的更好的知识,并在C++教科书上找到了一小段代码。所以我添加了一些代码来使其可执行,目的是理解所述编译时机制的行为。完整的程序看起来像这样: template<typename C> using Iterator_type = typename C::iterator; template<typename Iter> using

    7热度

    4回答

    我想专门为std::iterator_traits<>一个容器类模板,做不的迭代器具有通常的嵌套类型定义(如value_type,difference_type等),其源我不应该修改。基本上我想要做这样的事情: template <typename T> struct iterator_traits<typename Container<T>::iterator> { typedef