You can not pass an array by "pass by value", whereas objects can be passed by value. Here is a snippet:
You can pass an array to a function in only following manner:
int arr[2] = {0,1};
void s(int arr[]){ //This statement is equivalent to: void s(int *arr)
arr[0]=2;
}
s(arr); // This passes array pointer by value and hence the complete is passed by reference. Meaning to say function s will operate on real array and not on a "copied" array of the one passed in argument.
You can pass an object to a function in two ways:
void s(Obj* o) // this statement is equivalent to: void s(Obj & o). Pass by reference
void s(Obj o) // Pass by value. The actual ojbect passed as parameter when invoking the function, gets copied and function acts on copied object and not on actual object
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment