Archived

This topic is now archived and is closed to further replies.

vbisme

References

Recommended Posts

vbisme    100
Take a look: void function1(int & param); //declared to take a reference void function2(int & param); //same int main() { int x = 1; function1(x); //passing by reference ( the address is passed) return (0); } void function1(int & param) { function2(param) //is this also passing by ref ( which is the address of "param" which is also the address of "x"?) } void function2(int & param) { }

Share this post


Link to post
Share on other sites
Stoffel    250
...maybe. It doesn''t matter, really. Compilers implement references as addresses, but you should look at references as being the passed objects.

The thing to remember is that with any other type of parameter, the parameter is copied into the function. If it takes an int, the int is copied and sent to the function. If it takes a pointer, the pointer itself is copied and sent to the function (though both the copy and the original point to the same object). However, if it''s a reference, the object itself is passed to the function.

This may be implemented using pointers in your compiler, but it''s something with which you shouldn''t confuse yourself. A reference will pass the object, not a copy of the object.

Share this post


Link to post
Share on other sites