3

我想表达一个迭代器是 const 的(即你不能增加或减少它)但它产生的东西是非常量的:

iterator const it = foo.begin();
it++; // error
*it = ...; // not an error

如果iterator是一个指针,我可以说:

指针 // 迭代器

pointee // 它产生的东西

但如果它不是指针,我不确定。我考虑过使用container“pointee”替代品,但迭代器根本不绑定到容器。例如,输入迭代器可以绑定到文件或 STDIN。以下内容是否有效并被其他人使用?

迭代器 // 迭代器

iteratoo // 它产生的东西

我很高兴得到任何指导!

4

6 回答 6

3

“价值”是否太明显(或错误)?毕竟,您想要从迭代器中得到的是值。如果您指的是您正在迭代的一组值,那么我认为“序列”不是一个糟糕的选择。

于 2011-06-10T12:18:35.773 回答
2

如果我说了很多,我会说“引用”,或者如果我只说一次,我会说“迭代器指向的东西”,并且担心有人可能会认为我在谈论 C++ 引用的任何混淆。

我还说指针的“引用”(而不是“指针”)。如果人们没有意识到指针和迭代器都是两种引用,尽管它们不是专门的 C++ 引用,但它们总是可以接受教育的。

于 2011-06-10T13:19:55.427 回答
2

因为我们在聊天中讨论了这个,所以在这里发布这个。

使用胜利者/受害者设置。

迭代器/迭代器

或者你可以使用 Iteratee。

于 2011-06-10T12:11:28.997 回答
2

-and后缀在英语中用于表示“被操作的事物”,例如,OED 给出了“被乘的事物”的乘数和“被操作的事物”的操作数作为示例。

那么对于“要迭代的东西”的iterand呢?

于 2011-06-10T12:14:12.930 回答
1

I don't think any derivatives of iterator - be it iteratim, iteree, iteratee or iterand or whatever else are appropriate. Why? Because an iterator doesn't do anything to the thing it points to. The words suggested by other answers imply that an iteratim or iteratee etc. is being iterated. But it isn't. It is being pointed to. A pointer points to the pointee. An iterator doesn't iterate the iteratee.

So I think best is to use the word pointee.

于 2011-07-25T14:33:22.633 回答
0

集合的元素,无论是否被迭代,都是一个项目。

于 2011-07-25T14:38:51.233 回答