web-dev-qa-db-fra.com

Qu'est-ce qui appelle void (); Faire?

Je suis tombé sur void(); utilisé comme un 'ne rien faire' dans la branche 'else' d'un opérateur ternaire, comme un raccourci pour une vérification de pointeur nul

if(var){
   var->member();
}

comme

var ? var->member() : void();

mais je n'arrive pas à trouver de référence au mot-clé void utilisé de cette manière, est-ce une fonction ou un appel de foncteur sur le mot-clé void lui-même? ou est-ce qu'il ne transforme rien en void? ou est-ce juste la syntaxe C++ de quelque chose comme pass?

Edit: Le type de retour de member() est void dans cette situation.

16
Jake

Je n'ai vu que de tels codes écrits par des personnes qui étaient de "vieux automobilistes", pour ainsi dire. Un appel void() ne fait fondamentalement rien, et les opérateurs ternaires vous demandent de mettre quelque chose dans la branche else, donc les gens le font parfois. if (stuff) { stuff->member(); } serait également une ligne unique.

0
Dávid Kiss