Для тех, кто хочет знать, как они могут использовать сопрограммы в портативном виде в C ++ y̶o̶u̶ ̶w̶i̶l̶l̶ ̶h̶a̶v̶e̶ ̶t̶o̶ ̶w̶a̶i̶t̶ ̶f̶o̶r̶ ̶C̶ + ̶ + ̶1̶7 wait ожидание закончилось (см. Ниже)! Комитет по стандартам работает над этой функцией, см. Документ N3722 . Чтобы подвести итоги текущего проекта статьи, вместо Async и Await ключевые слова будут возобновляемыми и ожидают.
Взгляните на экспериментальную реализацию в Visual Studio 2015, чтобы поиграть с экспериментальной реализацией Microsoft. Похоже, у clang еще есть реализация.
Есть хороший разговор от Cppcon Сопрограммы с отрицательной абстракцией служебной информации описывают преимущества использования сопрограмм в C ++ и его влияние на простоту и производительность кода.
В настоящее время мы все еще должны использовать реализации библиотек, но в ближайшем будущем у нас будут сопрограммы в качестве основной функции C ++.
Обновление:
Похоже, реализация сопрограммы намечена для C ++ 20, но была выпущена как техническая спецификация для C ++ 17 ( p0057r2 ). Visual C ++, clang и gcc позволяют вам использовать флаг времени компиляции.