我想表达一个迭代器是const(即你不能递增或递减它),但它产生的东西是非const的:
iterator const it = foo.begin();
it++; // error
*it = ...; // not an error
如果iterator
是指针,我可以说:
指针 //迭代器
指向 //它产生的东西
但如果它不是指针,我不确定。我想过将container
用作“指针”替换,但是迭代器根本不依赖于容器。例如,输入迭代器可以绑定到文件或STDIN。以下是否有效并被其他人使用?
迭代器 //迭代器
iteratoo //它产生的东西
我很高兴获得任何指导!
答案 0 :(得分:3)
“价值”是否太明显(或错误)?毕竟,你想从迭代器中得到的是值。如果你指的是你正在迭代的一组值,那么我认为“序列”不是一个糟糕的选择。
答案 1 :(得分:2)
自从我们在聊天中讨论过这个以来,就发布了这个。
使用胜利者/受害者设置。
Iterator / Iteratim
或者你可以使用Iteratee。
答案 2 :(得分:2)
- 和后缀在英语中用于“要对其进行操作”,例如OED以“em> multiplicand 为例来表示'要加倍的东西',和操作数表示'要操作的东西'。
那么 iterand 对'要迭代的东西'怎么样?
答案 3 :(得分:2)
如果我说了很多话,我会说“referand”,或者“如果我只是说过一次,那就是迭代者指出的事情”,并担心有人会认为我在谈论的是一个混乱C ++参考。
我也说指针的“referand”(不是“指针”)。如果人们没有意识到指针和迭代器都是两种引用,尽管不是专门的C ++引用,它们总是可以接受教育。
答案 4 :(得分:1)
我认为迭代器的任何衍生物都不是 - iteratim , iteree , iteratee 或< strong> iterand 或其他任何合适的东西。为什么?因为迭代器不会 执行 任何指向它的东西。其他答案建议的词语暗示正在迭代 iteratim 或 iteratee 等。但事实并非如此。有人指出。指针指向指针。迭代器不会迭代迭代。
所以我认为最好使用指针这个词。
答案 5 :(得分:0)
正在迭代或不迭代的集合元素是一个项目。