簡體   English   中英

返回引用作為在C ++中有效的引用是否有效

[英]Is it valid to return a reference as a reference valid in C++

#include <iostream>

using namespace std;

int& fun1(int& ref)
{
  ref = 30;
  return ref;
}

int main()
{
  int i = 10;

  i = fun1(i);
  cout << "Value of i:" << i << endl;

  return 0;
}

輸出:i:30的值

返回作為引用傳遞的函數參數作為返回相同引用的函數是否有效? 根據我的理解,fun1(int&ref)中的ref在堆棧中將具有其自己的內存位置,並且返回ref的地址無效。

引用以各種方式起作用,就好像它們是原始對象一樣。 這就是說,引用的地址給出原始對象的地址,引用的引用給出原始對象的引用。

盡管存在指向指針的指針,但沒有這樣的東西作為對引用的引用。

注意i = fun1(i);的賦值i = fun1(i); 是多余的。 在這種情況下, i已經30了。 您可以簡單地調用fun1(i);

是的,很好。 重要的是,引用對象的生命周期足夠長。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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