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.