C++ Return by Reference
In this article, you'll learn how to return a value by reference in a function and use it efficiently in your program.
In C++ Programming, not only can you pass values by reference to a function but you can also return a value by reference.
To understand this feature, you should have the knowledge of:
The return statement is
So, when the variable is returned, it can be assigned a value as done in
This stores 5 to the variable num, which is displayed onto the screen.
To understand this feature, you should have the knowledge of:
- Global variables
Example: Return by Reference
#include <iostream>
using namespace std;
// Global variable
int num;
// Function declaration
int& test();
int main()
{
test() = 5;
cout << num;
return 0;
}
int& test()
{
return num;
}
Output5In program above, the return type of function
test()
is int&
. Hence, this function returns a reference of the variable num.return num;
. Unlike return by value, this statement doesn't return value of num, instead it returns the variable itself (address).So, when the variable is returned, it can be assigned a value as done in
test() = 5;
This stores 5 to the variable num, which is displayed onto the screen.
Important Things to Remember When Returning by Reference.
- Ordinary function returns value but this function doesn't. Hence, you cannot return a constant from the function.
int& test() { return 2; }
- You cannot return a local variable from this function.
int& test() { int n = 2; return n; }