| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: COM/DCOM/ActiveX/ATL/CORBA > Специфичная реализация for each для std::map |
| Автор: RastaDja 29.11.2010, 17:54 | ||||||||||||
| Здравствуйте! Есть задача реализовать for each для std::map. Но задача специфична: то-есть, как известно (или я чегото не знаю) _NewEnum может вернуть нам коллекцию либо данных, либо ключей. Но мне надо, в зависимости от задачи, вернуть имена коллекции, или данные. я смог реализовать
соответственно кодом
но неудобство в том, что тут я возвращаю только данные, а если заменить соответственный код на
то верну только имена как мне реализовать чтото вроди
или же чтото вроди
Или же для мап есть специфичная конструкция для for each спасибо! |
| Автор: RastaDja 30.11.2010, 10:57 |
| ХЕЛП, нможет кто знает как std::map вывести? |
| Автор: RastaDja 30.11.2010, 12:00 | ||||||
| навалял такую реализацию этого: 1. создал новый класс (Class2) с коллекцией std::map c именем m_Map 2. реализовал в Class2 свойство _NewEnum 3. в своем классе создал свойство Key
это позволило реализовать такой код 1. вывод данных
2. вывод имен
всё норм работает, но зато в библиотеке появился не нужный мне клас, как мне спрятать этот клас, чтоб он был невидим? спасибо |
| Автор: xvr 30.11.2010, 13:35 | ||
Лучше сделайте свой класс для элементов enum'а. класс из 2х полей - ключ и значение. Тогда foreach можно будет делать сразу и для ключа и для значения
|
| Автор: RastaDja 30.11.2010, 13:51 |
| ща попробую, а клас ATL, или простой? |
| Автор: xvr 30.11.2010, 14:31 | ||
ATL, dual |
| Автор: RastaDja 30.11.2010, 14:40 |
| всё сделал но вот та же проблема. клас для Key Value высвечивается в библиотеке, как его скрить, или это невозможно? |
| Автор: RastaDja 30.11.2010, 17:07 | ||
hidden |