Поддержка каждого цикла в классах
Как я могу добавить "для каждого" поддержку моего класса в C++0x и Visual Studio 2010?
2 ответа
Я думаю, что лучшим способом было бы добавить поддержку итератора, с begin()
а также end()
функции. Цикл for на основе ранжирования использует их, и это также дает вашему классу более богатый набор функциональных возможностей, предоставляемых итераторами.
Вы должны заставить класс поддерживать интерфейс IEnumerable
http://msdn.microsoft.com/en-us/library/system.collections.ienumerable.aspx