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