Explain "passing by value", "passing by pointer" and
"passing by reference" ?
Answers were Sorted based on User's Feedback
Answer / roshanpr
During pass by value a duplicate copy of the parameters
passed are created. Any changes made to copy will not
reflect the actual parameters.
In pass by pointer(it called as pass by address) duplicate
copy is not created. and any chagnes made to copy will
reflect in actual parameters also.
| Is This Answer Correct ? | 10 Yes | 1 No |
Answer / ven
Pass by value - a copy is made
Pass by pointer ( explicit pointer)
example:
void func(int * ptr_sent)
main()
{
int i;
int *p;
p = &i;
func(p);
}
void func(int * ptr_sent)
{
*ptr_sent = *ptr_sent + 2
// adds 2 to the value in location pointed by ptr_sent
}
Pass by reference (implicit pointer)
example:
void func(int &ref_sent)
main()
{
int i;
func(&i);
}
void func(int &ref_sent)
{
ref_sent = ref_sent + 2
// adds 2 to the ref_sent
// Please note that you do not need * when using reference
// Any code manipulating reference reflects changes on i
}
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / ranjeet garodia
Pass by value - a copy is made
Pass by pointer ( explicit pointer)
example:
void func(int * ptr_sent)
main()
{
int i;
int *p;
p = &i;
func(p);
}
void func(int * ptr_sent)
{
*ptr_sent = *ptr_sent + 2
// adds 2 to the value in location pointed by ptr_sent
}
answers given by yen .. there is one error ... in pass by
reference .. when calling function pass the variable not
the address....fun(i) should be called instead of fun(&i)
Pass by reference (implicit pointer)
example:
void func(int &ref_sent)
main()
{
int i;
func(i); // call by reference
}
void func(int &ref_sent)
{
ref_sent = ref_sent + 2
// adds 2 to the ref_sent
// Please note that you do not need * when using reference
// Any code manipulating reference reflects changes on i
}
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / sampurna pandey
i am not agree with Ranjeet, you mention this
main()
{
int i;
func(i); // call by reference
}
but fun(i) is a call by value not call by reference
your code will give compile error.
Ven eample is right.
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / sanish joseph
In Pass by value,copy of the value is passed, but in pass by
reference the address of the variables are passed as a
reference.pointer are variables storing the address of
another variable so it can be used as a pass by referece,
den it s teamed "passing by pointer".
| Is This Answer Correct ? | 3 Yes | 4 No |
What is a sequence in c++?
What are the different types of comments allowed in c++?
Describe private, protected and public?
Explain the use of this pointer?
What is the difference between mutex and binary semaphore?
What is tellg () in c++?
What are friend classes? What are advantages of using friend classes?
Write a program to get the value of sin (x) using a library function , when x is given in degrees.
how to explain our contribution in the project?
Declare a class vehicle and make it an abstract data type.
Write about a nested class and mention its use?
There are 100 students in a class. The management keep information in two tables. Those two tables are given like Roll no Name Age 001 ABC 15 002 XYZ 14 and Roll No Subject Marks 001 Math 75 001 Physics 55 002 Math 68 001 Hindi 69 They want the information like this Roll No Name Hindi Physics Math Total 001 ABC 69 55 75 199 002 XYZ 68 74 84 226 And Roll No Suject Highest 001 Math 98 007 Physics 84 021 Hindi 74 All 275 All information is kept in structure in main memory. You have to find last two tables.