C++ Return by Reference

by anupmaurya
213 views

In this article, you’ll learn C++ Return by Reference, 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:

  • 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; }
Code language: PHP (php)

Output

5

In program above, the return type of function test() is int&. Hence, this function returns a reference of the variable num.

The return statement is 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; }
Code language: JavaScript (javascript)

You cannot return a local variable from this function.

int& test() { int n = 2; return n; }
Code language: JavaScript (javascript)

You may also like