Czy istnieje sposób "przekonwertować" odwołanie do wskaźnika w C++? W poniższym przykładzie func
ma już zdefiniowany prototyp i nie mogę go zmienić, ale func
jest moim API i chciałbym przekazać oba parametry lub jeden (i drugi zestaw do NULL) lub żaden (oba ustawione na NULL)przekonwertować odwołanie do reprezentacji wskaźnika w C++
void func2(some1 *p1, some2 *p2);
func(some1& obj, some2& obj2)
{
func2(..);
}
„&”, tak samo jak dla niezarejestrowanych referencje. Jak w 'func2 (& obj, & obj2)' – JoshG79
Możesz wziąć adres odniesienia. Daje ci adres przywołanego obiektu. To znaczy. możesz zrobić 'func2 (& obj1, NULL)'. Zauważ, że nie ma sposobu na przekazanie 'NULL' do' func'; nie ma czegoś takiego jak referencja "NULL". – BoBTFish
@BoBTFish, odniesienia NULL są łatwe do utworzenia. 'int * pi = 0; int & ri = π '. Oczywiście, że jest to niegrzeczne, ale nie niemożliwe, a czasami robione przez przypadek. – Ben