【发布时间】:2017-10-28 05:10:51
【问题描述】:
我想看看是否可以将向量的一部分传递给函数,使其显示为函数的法线向量。更重要的是,我希望这在 O(1) 恒定时间内完成。我不想迭代向量来制作一个新的。其实下例中我也想让新向量的大小变成40。
void func(vector <int> &v){
//calling index 10 to 50 of v
func(v[10..50])
}
【问题讨论】:
-
通常使用迭代器范围来完成(参见
<algorithm>中的函数) -
可以发送一对迭代器。
-
发送两个迭代器是 C++ 的惯用方式。
-
迭代器作为函数参数不是线程安全的。而是发送向量,上下限,使用互斥锁来保护向量。
-
@ark1974 这有点牵强。
标签: c++ vector pass-by-reference