Swap function using Pass-By-Reference
The swap function swaps the values of the two variables it receives as arguments. Below is the C++ program to swap the values of two variables using pass-by-reference.
C++
// C++ program to swap the values // of two variables using // pass-by-reference #include <iostream> // Prototype of the function void swap( int &, int &); // Driver code int main() { int x, y; // Inputting two variables printf ( "Enter the value of x and y\n" ); scanf ( "%d%d" , &x, &y); // Displaying their values before swapping printf ( "Before Swapping\nx = %d\ny = %d\n" , x, y); // Calling the function & sending variable // values as argument swap(x, y); // Displaying their values after swapping printf ( "After Swapping\nx = %d\ny = %d\n" , x, y); return 0; } // Function uses pass by reference method // to swap passed variable values void swap( int &a, int &b) { int temp; temp = b; b = a; a = temp; } |
Output:
Explanation:
- Firstly the function prototype is defined (optional if the function is defined before the main function).
- Inside the main function, the values of the two variables are taken as input from the user.
- The values before calling the swap function are printed on the console.
- After which, the values are passed as an argument to the swap function.
- The swap function utilizes call-by-reference and contains the code for swapping the two variables.
- Upon completion of the function, the value of the two variables is displayed in the main function (after the call to swap).
- The swapped values are displayed on the screen.
C++ Functions – Pass By Reference
Several ways exist in which data (or variables) could be sent as an argument to a function. Two of the common ones are Passing by Value and Passing by Reference. Passing by reference allows a function to modify a variable without creating a copy. We have to declare reference variables. The memory location of the passed variable and parameter is the same. Therefore, any change to the parameter also reflects in the variable inside its parent function. This article focuses on discussing how to pass variables by reference in C++.
Contact Us