58 votes

Moyen le plus simple de déterminer le type de fonction de retour

Compte tenu d’une fonction très simple, mais longue, comme :

Quelle est la façon la plus simple et concise de déterminer le type de retour de la fonction ( , dans cet exemple: ) au moment de compiler sans répéter les types de paramètres de la fonction (par nom seulement, car il est connu que la fonction n’a pas de surcharges supplémentaires)?

28voto

Barry Points 45207

Le plus simple et concis est probablement:

Notez que cela ne fonctionnera pas pour les objets de fonction ou les pointeurs vers les fonctions des membres. Juste des fonctions, qui ne sont pas surchargés ou des modèles, ou `` .

Mais cela peut être étendu pour soutenir tous ces cas, si désiré, en ajoutant plus de surcharges de `` .

19voto

max66 Points 4276

Je ne sais pas si c’est la façon la plus simple (si vous pouvez utiliser C ++17 n’est sûrement pas: voir la réponse de NathanOliver), mais ... qu’en est-il de déclarer une fonction comme suit:

et en `` utilisant?

Observez que c’est seulement déclaré et non défini parce qu’il est appelé seulement un , de sorte que seul le type retourné est pertinent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X