Moh*_*kar 4 c++ function vector
在尝试使用C++中的向量执行插入排序时,我发现当我使用时,它没有执行该功能:
void ins_sort(vector<int> v){
//function body
}
Run Code Online (Sandbox Code Playgroud)
而当我执行以下操作时,它起作用了:
void ins_sort(vector<int>& v){
//function body
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下为什么吗?
Bli*_*ito 10
允许&您通过引用传递参数。也就是说,您可以在函数体内修改它们,并且在调用该函数后仍然可以看到它们被修改。
如果没有&,您将按值传递参数。也就是说,向量将被复制,并且您将在函数内部使用向量的副本。函数结束后,您将再次使用原始向量。