C# 'yi bir süredir kullanıyorum ve C++' ya geri dönmek baş ağrıyor. C# 'den bazı uygulamalarımı C++' ya taşımaya çalışıyorum ama biraz direnç buluyorum ve yardımınızı kabul etmekten memnuniyet duyarım.Kullanılan kapsayıcıyı açığa çıkarmadan yineleyicileri nasıl gösterebilirim?
Böyle bir sınıf için bir yineleyici maruz istiyorum:
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;
};
Ben bir sorun değildir şeye çalışıyor muyum? Sadece std yazmalıyım :: vector < T> :: yineleyici? Ben
Ayrıca http://stackoverflow.com/questions/127009/returning-an-any-kind-of-input-iterator-instead-of-a-vectoriterator-or-a (bu [soruyu] bakınız -listit) –