Returning an Argument by Reference

Returning an Argument by Reference

Question:

What exactly returns a C++ function if it returns an object by a reference like:

Person& GetNextPerson();

Please explain at assembly level, if possible.

Answer:

Assembly speaking, such a function returns a reference to an object. Theoretically, the underlying representation of references is platform dependent. However, all existing C++ compilers simply use pointers as the underlying representation of references. In other words, if you examine the disassembly code of that function call, you will see that it returns the address of a Person object to the caller, rather than returning the Person object itself.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist