【发布时间】:2020-04-09 06:57:54
【问题描述】:
我现在脑子里放了个屁,我正在寻找一种快速的方法来获取一个数组并将其中的一半传递给一个函数。如果我有一个包含十个元素的数组 A,在某些语言中,我可以将 A[5:] 之类的东西传递给函数并完成它。 c++中是否有类似的构造?显然我想避免和排序循环功能。
【问题讨论】:
-
也许你的函数应该使用迭代器。
-
您不能将数组传递给 C++ 中的函数,因为 C++ 没有数组值。那么你的函数实际上需要什么?
-
我有一个数组 int[] a = {1,2,3,4,5,6,7,8,9,10}。然后我正在寻找一种方法来获取子数组 int[] a1 = {6,7,8,9,10}。
-
不,你的函数取什么参数?
-
@NicholasHazen,如果你真的需要数组而不是迭代器,你仍然可以使用类似
std::vector的东西,它有一个双迭代器构造函数:std::vector<int> a{1,2,3,4,5,6,7,8,9,10}; foo(std::vector<int>(std::next(std::begin(a), a.size() / 2), std::end(a)));这个策略与迭代器相比真的相形见绌然而,就速度而言,更不用说易于使用了。