【发布时间】:2012-08-09 06:56:43
【问题描述】:
我有以下数组:
int* myArray = new int[45];
如果我想在不知道数组实际大小的情况下迭代每个元素,我需要使用for_each?
如果是这样,那你会怎么写for_each?我正在查看以下网站并阅读 for_each 但无法弄清楚如何将它们组合在一起。
http://www.cplusplus.com/reference/algorithm/for_each/
更新:for_each 在这种情况下不是一个好的选择,因为必须知道数组的大小。向量是完成此类任务的正确方法。在这种情况下,我使用数组的原因是出于学习目的。如果这是一个严肃的项目,我会转向诸如列表/向量之类的东西。
【问题讨论】:
-
@Kerrek SB,你是什么意思?它只有一行代码:) 或者你的意思是它不会编译,因为我们在这种情况下不使用 for_each?
-
如果不正确,即使一行也可能无法编译...
-
@Kerrek SB,那么写那行的正确方法是什么?
-
int myArray[45] = { 1, 5, -8, ... };,或者只是int myArray[45];。 -
如果数组是固定大小的,您可以使用模板函数,请参阅编辑我的答案。
标签: c++