What is the difference between a value and reference parameter?

User Generated

byyvrcbyyvr

Computer Science

Description

  • What is the difference between a value and reference parameter?

User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer

call by value: send the  function a copy of argument's value .

e.g

int foo( int a)

{

a = a+1; return a;

}

// basically change in value does not reflect in call by value

//

int main()
{
   int xx = 0;
   cout << f(xx) << ′\n′;   //print on screen 1
   cout << xx << ′\n′;    // print on screen  0; f() doesn’t change xx
   int yy = 7;
   cout << f(yy) << ′\n′; // print on screen 8;  f() doesn’t change yy
   cout << yy << ′\n′;    // print on screen 7
}

// we can see here that value of xx does not change

if we pass the value to same program by reference then value of x will change

int f(int& a) {

a = a+1; return a;

}

int main()
{
   int xx = 0;
   cout << f(xx) << ′\n′;   //print on screen 1
   cout << xx << ′\n′;    // print on screen  1; f() does change xx
   int yy = 7;
   cout << f(yy) << ′\n′; // print on screen 8;  f() doesn change yy
   cout << yy << ′\n′;    // print on screen 8
}

In call by reference value of variable also change mean change in function also reflect in main function.



Anonymous
This is great! Exactly what I wanted.

Studypool
4.7
Trustpilot
4.5
Sitejabber
4.4

Similar Content

Related Tags