私はしばらくの間C#を使用していますが、C++に戻るのは頭痛の種です。私は自分のプラクティスのいくつかをC#からC ++に移行しようとしていますが、抵抗を感じているので、あなたの助けを喜んで受け入れます。
次のようなクラスのイテレータを公開したいと思います。
template <class T>
class MyContainer
{
public:
// Here is the problem:
// typedef for MyIterator without exposing std::vector publicly?
MyIterator Begin() { return mHiddenContainerImpl.begin(); }
MyIterator End() { return mHiddenContainerImpl.end(); }
private:
std::vector<T> mHiddenContainerImpl;
};
問題ないことをやっていますか?typedef std :: vector <T> :: iteratorだけでいいですか?実装コンテナではなく、イテレータに依存することを望んでいます...