C++ also provides for constant reference parameters. For example:
void aFunction(const myDataSet_t &variableName) {
.
.
}
This provides the efficiency of a reference while forbidding the function from changing the parameter. I don't know if there's an equivalent construct in Pascal/Delphi.
Of course, the features of references and constant references could also be achieved by using pointers.