![]() |
1
1
迭代器充当一种粘合剂,允许用户编写在值序列上操作的算法,而不知道该序列是如何到达那里或是如何保持的。但是算法和序列之间的具体“粘合”是无关的。关键在于算法的具体实现必须根据特定类型的“粘合”来实现。
标准库迭代器模型很有用,因为标准库附带了使用此模型的工具(算法、容器的迭代器构造函数、基于范围的
协程仅在这方面有用,因为它简化了
实施
操作。使用generation coroutine的代码将具有与以前基本相同的接口;它只是在内部使用
因为协程的堆栈框架是一个持续存在的对象,所以不需要显式地创建生成对象。生成值的函数可以使用堆栈变量作为其状态,然后
|