Hallo,
Irgendwie verstehe ich noch nicht ganz, wie folgendes c++ Programm
arbeitet:
#include <iostream>
void hoch_zaehler(int& zaehler)
{
++zaehler;
}
int main()
{
int ein_zaehler = 0;
hoch_zaehler(ein_zaehler);
std::cout << ein_zaehler;
return (0);
}
Kann mir da jemand weiterhelfen, in meinem Buch ist das nur so angerissen
und irgendwie habe ich gerade ein Brett vorm Kopf ;)
--
Daniel Feist
Am Sonntag, 27. März 2005 12:21 schrieb Daniel Feist:
Hallo, Irgendwie verstehe ich noch nicht ganz, wie folgendes c++ Programm arbeitet:
#include <iostream>
void hoch_zaehler(int& zaehler) { ++zaehler; } int main() { int ein_zaehler = 0;
hoch_zaehler(ein_zaehler); std::cout << ein_zaehler; return (0); }
Kann mir da jemand weiterhelfen, in meinem Buch ist das nur so angerissen und irgendwie habe ich gerade ein Brett vorm Kopf ;)
-- Daniel Feist
Morgen, normalerweise wird eine Variable als Value übergeben; das heitß: Der Wert der Variable wird kopiert und nur in der entsprechenden Funktion manipuliert. Bei einer Referenz wird die Adresse der Variable der Funktion mitgeteilt und die Funktion manipuliert _direkt_ die Variable. Hat den Vorteil das es schnell ist; dafür unübersichtlicher. Grüße, Freddy
Hallo
normalerweise wird eine Variable als Value übergeben; das heitß: Der Wert der Variable wird kopiert und nur in der entsprechenden Funktion manipuliert. Bei einer Referenz wird die Adresse der Variable der Funktion mitgeteilt und die Funktion manipuliert _direkt_ die Variable.
Wenn man mit Referenzen nicht vertraut ist, ist es hilfreich sind eine Referenz als ein Synonym vorzustellen. Hinter zaehler und ein_zaehler steht eigentlich die gleiche Variable - was sind schon Namen.
Hat den Vorteil das es schnell ist; dafür unübersichtlicher.
Es gibt auch Situationen, in denen Referenzen imho die Lesbarkeit erhöhen. Z.B. Wenn eine Funktion mehr als einen Wert, insbesondere verschiedene Datentypen, zurückliefern soll, ist es meistens übersichtlicher, Referenzen zu übergeben und deren Werte zu ändern als extra für eine Funktion einen neuen Datentyp zu deklarieren. Tschüssi -- 1 Bodo Kaelberer 123 http://www.webkind.de/ http://www.kaelberer-aio.de/ 3 Seelig sind die, die da arm an Geist sind, denn sie werden 4 sich Christlich Soziale Union nennen.
participants (3)
-
Bodo Kaelberer
-
Daniel Feist
-
Frederic Wiesenbach