passing a reference to a function c++ code example
Example 1: reference function in c++
// function definition to swap the values.
void swap(int &x, int &y) {
int temp;
temp = x; /* save the value at address x */
x = y; /* put y into x */
y = temp; /* put x into y */
return;
}
Example 2: passing reference in c++
// C++ program to demonstrate differences between pointer
// and reference.
#include <iostream>
using namespace std;
struct demo
{
int a;
};
int main()
{
int x = 5;
int y = 6;
demo d;
int *p;
p = &x;
p = &y; // 1. Pointer reintialization allowed
int &r = x;
// &r = y; // 1. Compile Error
r = y; // 1. x value becomes 6
p = NULL;
// &r = NULL; // 2. Compile Error
p++; // 3. Points to next memory location
r++; // 3. x values becomes 7
cout << &p << " " << &x << endl; // 4. Different address
cout << &r << " " << &x << endl; // 4. Same address
demo *q = &d;
demo &qq = d;
q->a = 8;
// q.a = 8; // 5. Compile Error
qq.a = 8;
// qq->a = 8; // 5. Compile Error
cout << p << endl; // 6. Prints the address
cout << r << endl; // 6. Print the value of x
return 0;
}
Example 3: reference function in c++
#include <iostream>
using namespace std;
// function declaration
void swap(int &x, int &y);
int main () {
// local variable declaration:
int a = 100;
int b = 200;
cout << "Before swap, value of a :" << a << endl;
cout << "Before swap, value of b :" << b << endl;
/* calling a function to swap the values using variable reference.*/
swap(a, b);
cout << "After swap, value of a :" << a << endl;
cout << "After swap, value of b :" << b << endl;
return 0;
}