[英]What does & mean while passing string or vector to function?
像這樣通過引用將字符串或向量傳遞給 function 時使用 & 的目的是什么
int function(string & x){
return 0;
}
或者
int function(vector<int>&x){
return 0;
}
為什么在使用 *.
當您使用 & 傳遞引用時,您傳遞的是實際數據,而不是傳遞數據的副本。 您在向量中所做的更改是在實際向量上完成的。
通過引用傳遞,即使用&
意味着您可以訪問傳遞給 function 的實際實例,在您的情況下是vector
或string
。 function 內部變量的更改也將反映在 function 的 scope 之外。
因此,
#include <iostream>
int function(std::string & x) {
x = "Hello Function!";
return 0;
}
int main() {
std::string my_string("Hello World!");
function(my_string); // Pass by reference
std::cout << my_string << std::endl; // Will print "Hello Function"
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.