Return Reference in C++
C++ -Return by reference
On this page we will discuss about function return by reference which is used in C++.In C++, a function can return a reference to a variable. This allows the function to modify the original variable and have those changes reflected outside the function.
Return by Reference in C++
In C++, a reference is a way to refer to an object indirectly. A reference is like an alias, or a nickname, for an existing object. To return a reference, the function definition must include an ampersand (&) after the type of the returned value.
Returning a reference can be useful when you want to avoid making a copy of a large object, or when you want to modify an object that was passed to a function by reference. It also allows you to chain function calls, since the return value of the function can be used as the input to another function.
Syntax
data_type func_name(data_type &var_name){
// code
return var_name;
}
Here,
- data_type is the return type of the function.
- func_name is the name of the function.
- var_name is the parameter which is passed as argument to it.
Algorithm
Step 2: Inside the function, return a reference to the desired object or variable by using the & symbol before its name.
Step 3: When calling the function, you can use the return value as a reference, which allows you to modify the original object or variable.
Examples
Returning a reference to a global variable:
#include <iostream>
using namespace std;
int &max(int &x, int &y) {
if (x > y) {
return x;
}
return y;
}
int main() {
int a = 10;
int b = 20;
int &c = max(a, b); // c is a reference to the larger of a and b
cout << "c: " << c << endl;
c = 30; // This sets the larger of a and b to 30
cout << "a: " << a << endl;
cout << "b: " << b << endl;
return 0;
}
Output:
c: 20 a: 10 b: 30
Returning a reference to an element of an array:
#include <iostream>
using namespace std;
int &getElement(int *arr, int index) {
return arr[index];
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
getElement(arr, 3) = 10;
cout << arr[3] << endl;
return 0;
}
Output:
10
Prime Course Trailer
Related Banners
Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription
Get over 200+ course One Subscription
Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others

Login/Signup to comment