About
A function call:
Articles Related
Type
Convention | Description | Language |
---|---|---|
Call by value | Argument is evaluated and copy of value is passed to the function | Default in most Algol-like languages after Algol 60, such as Pascal, Delphi, Simula and many others. C, C++, Java (References to objects and arrays are also passed by value) |
Call by reference | Reference to argument, typically its address is passed | Selectable in most Algol-like languages after Algol 60, such as Algol 68, Pascal, Delphi and many others. C++, Fortran, PL/I |
Call by result | Parameter value is copied back to argument on return from the function | Ada OUT parameters |
Call by value-result | Parameter value is copied back on entry to the function and again on return | Algol |
Call by name | Like a macro – replace the parameters with the unevaluated argument expressions | Algol, Scala |
Call by constant value | Like call by value except that the parameter is treated as a constant |