Реализация генератора на C ++ 0x

Ключевое слово python yield было для меня отличной концептуальной абстракцией, позволившей мне преобразовать важные части алгоритма в удобочитаемую форму.Ранее мы обсуждали:

Генераторы Python на разных языках

, где ответ был дан для библиотеки только для Windows в C ++. Вдобавок я нашел еще один пример с использованием необычного макроса в вопросе:

Генераторы в C ++ - недопустимое использование нестатического члена данных

Край моих знаний в области компьютерных наук говорит мне, что функция yield имеет что-то связанное с совместными подпрограммами и монадами, но я не совсем понимаю, как это вписывается в то, что может выполнять C ++ или C ++ 0x.

Похоже, что в C ++ без использования макрорасширения или окна только фибры (потока), yeild не может быть реализован. Это правда? Изменится ли вопрос с появлением дополнительных языковых возможностей C ++ 0x?

8
задан Community 23 May 2017 в 12:12
поделиться