我正在學習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