(筆記)關於函數形參中使用const引用和非const引用間的區別

先看一段代碼 函數

int test(int &i)
{return i;}
int main()
{
  cout<<test(1)<<endl;
  return 0;
}
此時編譯會報錯,提示「initial value of reference to non-const must be an lvalue」 ,也即傳遞給非const引用的值必需要爲左值

而若是改爲 spa

int test(const int &i)
{return i;}
int main()
{
  cout<<test(1)<<endl;
  return 0;
}
程序就能正確執行。

綜上,若是形參是non-const引用,則實參必須是non-const型的變量,要想能給函數傳遞具體的數值或字符串,則可將形參設爲const類型。
code

相關文章
相關標籤/搜索