![](/img/trans.png)
[英]What is the difference between "vector<int> v[]" and "vector<vector<int>> v"
[英]what's the difference between "vector<int>& a " and "vector<int> a"?
我是 C++ 的初學者。 我嘗試編寫一個程序來逐個旋轉向量
即,{1,2,3,4,5} --> {2,3,4,5,1} --> {3,4,5,1,2}
vector<vector<int>> allrot(const vector<int>& a)
{
vector<vector<int>> result;
for (int i = 0; i < a.size(); i ++ ){
rotate(a.begin(), a.begin() + 1, a.end());
result.push_back(a);
}
return result;
}
這不起作用,我有幾個問題。
vector<int>& a
而不是vector<int> a
?謝謝您的幫助
當您傳遞vector<int>
時,函數會獲取該向量的副本。 您可以在函數中使用它做任何您想做的事情,並且您的原始數據不會改變。
當您傳遞vector<int>&
然后函數獲取引用,這意味着函數中的任何更改都會修改原始數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.