Language - (Procedure|Function) call
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 |
