Gibt es eine Möglichkeit, einen Verweis auf Zeiger in C++ zu "konvertieren"? Im Beispiel unten hat func
bereits Prototyp definiert und ich kann es nicht ändern, aber func
ist meine API, und ich möchte entweder beide Parameter übergeben, oder eins (und zweiten Satz auf NULL) oder keine (beide auf NULL gesetzt)):konvertieren Verweis auf Zeigerdarstellung in C++
void func2(some1 *p1, some2 *p2);
func(some1& obj, some2& obj2)
{
func2(..);
}
"&", wie bei nicht-Referenzen. Wie in 'func2 (& obj, & obj2)' – JoshG79
Sie können die Adresse einer Referenz nehmen. Sie erhalten die Adresse des Objekts, auf das verwiesen wird. I.e. Sie können 'func2 (& obj1, NULL)' machen. Beachten Sie, dass es keine Möglichkeit gibt, 'NULL' an' func' zu übergeben; Es gibt keine "NULL" -Referenz. – BoBTFish
@BoBTFish, NULL-Referenzen sind einfach zu erstellen. 'int * pi = 0; int & ri = π '. Natürlich ist das unartig, aber nicht unmöglich und manchmal durch Zufall. – Ben