Re[2]: Generators in C++, (a.k.a. foreach & iteartors)
От: c-smile Канада http://terrainformatica.com
Дата: 27.05.08 01:51
Оценка:
Здравствуйте, remark, Вы писали:

R>Здравствуйте, c-smile, Вы писали:


CS>>Используя идею "coroutines in C" Simon Tatham вот родилось следующее решение для C++.


R>Очень занятно. Сам не так давно думал над подобным, но почему-то опрометчиво раньше времени подумал, что в С++ с таким подходом ничего хорошего не выйдет.


"Imagination is more important than knowledge" (C) Альберт.
В том смысле что иногда полезно отвлечься на tiscript какой от голого C++.

R>Тем не менее пока все попытки "сломать" этот код успехом не увенчались. Как минимум выдается варнинг. Пробовал вставлять определение локальной переменной с инициализацией, без инициализации, break.


Да, в c++ в этом смысле даже удачнее получилось чем в C.

R>Кстати, если есть цикл и внутри него ветка case и стоит break, это определено, что break будет относиться к циклу, а не к case?


break относится к ближайшему циклу или switch.

R>Собственно а подумал я, что ничего хорошего не выйдет, т.к. 3 известные мне реализации yield() в С/С++ все страдают серьезными проблемами.


Да, protothreads выглядят симпатично.

Но мой вариант с классом/структурой позволяет не заморачиваться с аллокациями. Да и переменные контекст естественнее выглядят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.