【发布时间】:2026-02-04 13:20:02
【问题描述】:
python 关键字yield 对我来说是一个很好的概念抽象,让我能够将算法的重要部分提炼成人类可读的形式。我们之前讨论过:
Python generators in various languages
在 C++ 中为仅限 Windows 的库给出了答案。此外,我在问题中发现了另一个使用时髦宏扩展的示例:
Generators in C++ — invalid use of nonstatic data member
我的计算机科学知识的边缘告诉我,yield 函数具有 something to do with co-routines 和 monad,但我不太了解它如何适合 C++ 或 C++0x 可以完成的任务。
似乎在 C++ 中,如果不使用宏扩展或仅 Windows 光纤(线程),yeild 就无法实现。这是真的?这个问题会随着 C++0x 的附加语言特性而改变吗?
【问题讨论】: