Optionaler Paramter
-
Man kann ja einen Parameter einer Funktion auch optional machen in dem man in der Deklaration den Wert gleich setzt.
Geht das auch bei Parametern die man als Referenz übergibt.
-
Auf welchen Wert willst du die Referenz denn dann setzen?
-
_matze schrieb:
Auf welchen Wert willst du die Referenz denn dann setzen?
Auf ein temporary (wenns ne const ref ist), static oder globales Objekt?
-
ich Denke das geht, du kannst doch ein Temporäres Objekt erzeugen, also so was wie
CString(_T("Hallo")
int(3)und so weiter, warum soll das nicht als Referenz gehen, ich hab das net getestet geb ich zu aber ich geh mal davon aus, versuchen is der kürzeste Weg
-
Es geht.
Natürlich aber nur mit rvalues! D.h. es müssen const Referenzen sein.Das ist völlig legaler code:
CString ReturnNothingWhenCalledWithNoArg(const CString &str=CString(_T("Nothing"))) { return str; }Aber sicherer als default Argumente sind evtl. einfach verschiedene Überladungen.