【发布时间】:2013-06-03 17:10:57
【问题描述】:
我在 C++ 程序中使用 vector,我需要将其中的一部分 vector 传递给函数。
如果是 C,我需要执行以下操作(使用数组):
int arr[5] = {1, 2, 3, 4, 5};
func(arr+2); // Pass the part of the array {3, 4, 5}
除了用最后一部分创建一个新的vector之外,还有其他方法吗?
【问题讨论】:
-
"如果是 c,我需要这样做(使用数组):" 这将假设
func知道它需要一个包含 3 个元素(或更少)。如果它需要一个 5 的数组,那你就完蛋了。 -
您很可能应该完全做其他事情。你为什么要传递原始数据?向量代表什么?我会封装它并对其执行操作,而不是在其他地方传递它。
标签: c++ vector containers parameter-passing partial