Existe-t-il un moyen de "convertir" une référence en pointeur en C++? Dans l'exemple ci-dessous, func
a déjà défini le prototype et je ne peux pas le changer, mais func
est mon API, et je voudrais passer les deux paramètres, ou un (et deuxième ensemble à NULL) ou aucun (tous les deux mis à NULL):convertir la référence à la représentation du pointeur en C++
void func2(some1 *p1, some2 *p2);
func(some1& obj, some2& obj2)
{
func2(..);
}
"&", même que pour les références non. Comme dans 'func2 (& obj, & obj2)' – JoshG79
Vous pouvez prendre l'adresse d'une référence. Il vous donne l'adresse de l'objet référencé. C'est à dire. vous pouvez faire 'func2 (& obj1, NULL)'. Notez qu'il n'y a aucun moyen de passer 'NULL' à' func'; il n'y a pas de référence 'NULL'. – BoBTFish
@BoBTFish, les références NULL sont faciles à créer. 'int * pi = 0; int & ri = π '. Bien sûr, c'est vilain, mais pas impossible et parfois fait par accident. – Ben