数组索引与数组元素
Array Indices vs Array Elements
这是一个与这个问题相关的元问题:我如何编写无分支std::vector scan?。
最初提出的问题(强调我的(:
我有一个
std::vector<int> data
;我想找到所有的数组 小于 9 的索引,并将其添加到结果向量中。
然后我将其编辑为:
我有一个
std::vector<int> data
,我想找到所有元素 小于 9 并将它们添加到结果向量中。
然后另一个用户将其编辑为:
我有一个
std::vector<int> data
,我想在 元素小于 9 并将它们添加到结果向量中。
我将其标记为版主以还原此内容,并指出:
我改写了这个问题(stackoverflow.com/posts/38798841/revisions( 主要目标是将"数组索引"替换为"元素",因为 这就是实际被问到的 - 并参考 在这种情况下,"索引/索引"会引起一些混淆。但是,用户 阿空加瓜推翻了我编辑的这个关键部分。这是我的信念 他的最新编辑应该回滚。
它被拒绝的理由是:
Aconcagua的编辑是正确的;用户正在收集数组指示, 不是数组元素本身
.
现在,我不太明白版主说什么 - "用户正在收集数组指示"。在我看来,索引是数组中元素的位置。例如,在 C 语言中:
char array[] = {'t', 'e', 's', 't'};
int index = 1;
char element = array[index];
printf('%c', element);
我根本不明白他如何或为什么会收集"索引"而不是"元素"。有人可以澄清这一点,以便我真正理解它吗?
在链接问题顶部的示例代码中:
for (int i = 0; i < data.size(); ++i)
if (data[i] < 9)
r.push_back(i);
请注意,i
正在添加到向量中,而不是data[i]
。
i
是相关元素的索引,并且是正在存储的内容,而不是存储在 data[i]
的值,这是 data
向量中的元素。
相关文章:
- 数组元素打印的递归方法
- 在 C++ 中访问数组负索引处的内存不会返回垃圾
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 当该数组的索引中没有元素时,指针指向什么?
- 为什么使用数组元素查找最大数字的程序不起作用?
- 数组元素更改值?
- 如何访问宏中定义的数组元素
- 将数组元素递增 1
- C++函数,它将数组、谓词和运算符作为参数,并将运算符应用于满足谓词的数组元素
- 存储指向动态数组元素的指针
- C++通过别名指针以静默方式将错误的类型分配给数组元素
- 根据字符获取数组的索引
- 数组:如何在指定索引之前显示数组的第一个和最后一个元素以及数组元素的差异?
- 编写一个递归功能,该功能采用数组并以相反顺序显示元素,而无需在末尾启动数组的索引
- 从 C++ 数组元素的指针获取索引的最快方法是什么
- 在VS中的Watch中按索引查看数组元素
- 如何使用索引交换预定义的数组元素
- 移动指定索引处的数组元素
- 数组索引与数组元素
- 如何使用静态数组元素作为不同模板实例化对象的静态数组的索引