Bei der Erläuterung des Anweisungsteils einer Funktion wurde angemerkt, daß der Compiler bei der Parameterübergabe eine lokale Kopie des Parameters erzeugt. Doch was heißt dies?
Um dies zu verstehen, muß man sich das Konzepts der Gültigkeitsbereiche (engl. Scopes) ansehen. Eine Variable oder Funktion ist nämlich nicht nur durch ihren Namen bestimmt, sondern auch dadurch, wo sie definiert wurde. Sehen wir uns mal folgendes Beispiel an:
int i=4; void funktA() { cout << i << endl; } void funktB() { int i=7; cout << i << endl; } void main() { int i=2; funktA(); // gibt 4 aus funktB(); // gibt 7 aus cout << i << endl; // gibt 2 aus }