In der folgenden Methode soll eine Variable hochgezählt werden:
void flowTaster( … ) {
if(true) …++;
}
Um zum beispiel meine Variable int timer zu inkrementieren soll folgendes aufgerufen werden:
int timer;
flowTaster(timer);
wass muss ich an stelle der … schriebn, damit er mir nicht die interne Variable inkrementiert sondern die externe, also die die ich zum ausführen (wie mein bsp. timer) eingegeben habe?
Das kommt ganz auf deine Programmiersprache an. Im Allgemeinen brauchst du irgendwelche Zeigerkonstrukte.
In C/C++ ein int* oder int&
In Java eine Klasse, die das int kapselt
In .Net-Sprachen z.B. wie in Java oder auch ein Delegat zu einer Methode, die die Inkrementierung vornimmt.
Wenn ich zum beispiel das Zeigerkonstruckt int nehme, dann passiert ja folgendes:
int timer=5;
flowTaster(timer);
void flowTaster( int var ) {
if(true) var++;
}
// die Methode ließt die Zahl 5 und setzt den Intenger var auf 6. Ich möchte aber nicht das var auf 6 gesetzt wird sondern der Intenger timer den Wert 6 annimmt.