In this tutorial, we are going to learn about returning a value by reference, we will also see how to use them in C++ programming.
Apart from passing values by reference, you can also return a value by reference.
Let’s see how.
But before moving ahead it is important that you must know concept of Global variables.
A Global variables in the program is a variable defined outside the function. It has a global scope means it holds its value throughout the lifetime of the program. Hence, it can be accessed throughout the program by any function defined within the program.
#include <iostream>
using namespace std;
int c = 12; // Global variable
void test_func();
int main() {
... .. ...
... .. ...
return 0;
}
void test_func() {
... .. ...
}
In the above example c is a global variable, hence it can be accessed
by both the functions, i.e. test_func() and main()
Now back to the topic, let’s see an example of Return a value by Reference in C++.
Example 1:
#include <iostream>
using namespace std;
int number; // Global variable
int& test_func(); // Function declaration
int main() {
test_func() = 10;
cout << number;
return 0;
}
int& test_func() {
return number;
}
Output :
10
# Explanation :
In the above program, you can see the return type of the function
test_func() is int&. We use this return type when we have to return
a value by reference.
The function test_func() returns the reference of the variable
number.
In other words, return number, doesn’t return value of number,
instead it return its reference (address).
On this returned address the value can be assigned in main(), like in
our case it is test_func() = 10 .
And hence the value got displayed on screen by cout << number.