簡體   English   中英

將字符串或向量傳遞給 function 時 & 是什么意思?

[英]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 的實際實例,在您的情況下是vectorstring 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM