有人可以提供生成器、枚举器、迭代器术语的定义。似乎不同的语言使用这些任意的,我想知道确切的区别。
问问题
129 次
2 回答
1
枚举器是一种标记值的方式。如果您有一个整数容器,则可以为可能的值定义一个枚举。记住命名值比记住数字更容易,例如想象一下,如果你认识的每个人都没有名字,而是被赋予了一个唯一的数字。会更难记住。
迭代器是允许您遍历容器的对象。你一步一步地迭代它。一些容器很容易单步执行(如连续数组),但其他容器则不然(如链表,其中每个元素可以随机分散在整个内存中,或二叉树,其中可能有不同的可能顺序来单步执行数据)。迭代器允许您遍历容器而不用担心这些细节。
至于生成器,我对它们不熟悉,所以我会从维基百科给你留下这句话:
在计算机科学中,生成器是一种特殊的例程,可用于控制循环的迭代行为。生成器与返回数组的函数非常相似,因为生成器具有参数,可以调用,并生成一系列值。但是,生成器不是构建一个包含所有值的数组并一次返回它们,而是一次生成一个值,这需要更少的内存并允许调用者立即开始处理前几个值。简而言之,生成器看起来像一个函数,但行为却像一个迭代器。
于 2013-01-04T17:34:16.867 回答