#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;
}
Ausgang zurück: Wert von i: 30Ist es gültig einen Verweis als Referenz gilt in C++
Ist es gültig ein Funktionsargument als Referenz übergeben zurückzukehren, wie eine Funktion die gleiche Referenz zurückgeben? Nach meinem Verständnis wird ref in fun1 (int & ref) einen eigenen Speicherplatz im Stack haben und die Adresse von ref ist ungültig.
Dieser Code ist absolut gültig. –
Ja, das ist gültig. Es gibt keinen Verweis auf eine Referenz in C++, wenn dies Ihre Verwirrung verursacht hat. –
Wenn Sie einen Parameter als Referenz übergeben, hat die Rückgabe des gleichen Verweises keine Bedeutung und daher auch keine Auswirkungen. Der Wert der Referenzparameter wird aktualisiert, wenn er in der Funktion aktualisiert wird, in Ihrem Fall "fun1". – Kangkan