// Reference // i, ri, *pi are different names for one variable #include <iostream.h> main() { int i; // i int &ri = i; // declaration reference on i int *pi; pi = &i; // declaration pointer on i; i = 7; cout << i << ri << *pi; ri++; cout << i << ri << *pi; (*pi)++; cout << i << ri << *pi; } |
Referenzen werden häufig zur Parameterübergabe an
Funktionen benutzt, siehe § 7.2.
Eine weitere sinnvolle Anwendung besteht in der Referenz auf ein
Feldelement, Strukturelement oder auf innere Daten einer
komplizierten Datenstruktur wie nachstehend, vom Beispiel auf
Seite abgeleitet, gezeigt wird.
// Reference and dynamical array of type student #include <iostream.h> main() { struct Student { long long int matrikel; int skz; char name[30], vorname[20]; }; Student gruppe[4]; // pointer at Student // Data input; ... i = 3; { // reference on comp. of structure int &rskz = gruppe[i].skz; // reference on structure Student &rg = gruppe[i]; // reference on comp. of referenced structure long long int &rm = rg.matrikel; cout << "Student nr. " << i << " : "; cout << rg.vorname << " " << rg.name << " , "; cout << rm << " , " << rskz << endl; } } |