On 5/14/07, Konrad Rosenbaum konrad@silmor.de wrote:
On Monday 14 May 2007, Frank Gerlach wrote:
Noch ein Hinweis aus der Praxis: Bei Funktionsdeklarationen besser
Zeiger
statt Referenzen benutzen, denn damit wird beim Aufruf der Funktion/Methode sofort deutlich dass mit der uebergebenen Variable was gemacht wird(bzw gemacht werden kann). (und nicht nur ein
Input-Parameter
ist)
Das gilt nur in Teams, die ANSI-C gewöhnt sind oder wenn es keine ordentliche Doku gibt.
Logikfrage: würdest Du bei dieser Funktionsdeklaration vermuten, dass x und y nicht geändert werden? class MyWindow { //... void getCoordinates(int&x,int&y); };
Bei vielen Funktionen/Methoden ist es nicht so eindeutig..... Und: was ist an einem Aufruf wie
int x,y; m_window->getCoordinates(&x,&y);
schwierig ? Wer natuerlich einen NULL pointer uebergibt wird ein SIGSEV ausloesen, was auch gut ist.