2012-04-05 81 views
1
class MainClass 
{  
    class EmbeddedClass 
    {...}; 

    class const_iterator 
     : public std::iterator<std::random_access_iterator_tag, EmbeddedClass> 
    {...} 

    class iterator: public const_iterator 
    {...}; 
}; 

我在傳統項目中看到了上述設計。我們如何定製使用`std :: iterator`的目的和教程

問題1>設計嵌入式class const_iteratorclass iterator的主要目的是什麼?

問題2>是否有一個很好的設計教程,說明我們如何以專業的方式實現定製的const_iteratoriterator類?

謝謝

回答

1

問題1>設計嵌入類常量性和類迭代器的主要目的是什麼?

推測MainClass代表某種容器,集合,列表生成器或其他可迭代的數據結構。 使用這些名稱創建迭代器類允許MainClass在標準算法(如std::for_eachstd::accumulate)中用作容器類。

問題2>是否有一個很好的設計教程,說明我們如何以專業的方式實現定製的const_iterator或迭代器類?

我沒有立即意識到一個。

相關問題