我正在学习C++,并且遇到了此函数的问题。我最初传递了整个向量,然后传递了一个指向该向量的指针;但是我似乎无法从指向矢量的指针赋值。填充矢量<int> *
void fill(std::vector<int> *vec, const int startVal)
{
const int n = vec->size();
for (int i = 0; i < n; ++i)
{
vec[i] = startVal + i
}
}
我该如何在指针(vec)的第i个位置赋值给vector?
我想:
vec->[i] = startVal + i;
'(* vec)[i]'会起作用。但为什么传递一个指针?通过一个参考,或两个迭代器。 – juanchopanza
@juanchopanza:他可能会遵循[_Google C++风格指南_](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Reference_Arguments):) _“所有通过引用传递的参数都必须标记'const'。“_ –
@C64先生,我已经忘记了那些废话:-)我真的很希望没有人真正遵循这一点。 – juanchopanza