Bonjour,
Quelqu'un connaitrait-il outil qui permette de lister toutes les classes d'un ensemble de fichiers qui ne possèdent pas de constructeur de recopie redéfini et/ou de surcharge de l'opérateur = ?
D'avance merci.
Bonjour,
Quelqu'un connaitrait-il outil qui permette de lister toutes les classes d'un ensemble de fichiers qui ne possèdent pas de constructeur de recopie redéfini et/ou de surcharge de l'opérateur = ?
D'avance merci.
Tu peus utiliser SFINAE pour détecter la présence de ces deux fonction dans une classe fixée (boost a peut-etre quelque chose qui fait ca aussi).
Mais il faudra que tu lui indiques explicitement toutes les classes à tester. Et le test vérifiera la présence, pas qu'elles sont redéfinies par l'utilisateur.
La SFINAE ne marche pas pour detecter la presence de constructeur
Ha oui, j'ai oublié qu'il fallait la signature, bon bha ca marchera déjà pour l'opérateur d'affectation
ca risque de ne pas marcher car le compilateur en crée un par défaut
de plus, que se passe t'il s'il est privé?
Oui, je l'ai dit, il détectera celui par défaut. Et si il est privé ca ne marchera pas, comme n'importe quel détection faite par SFINAE sur une fonction privé.
Mais à part SFINAE, ou un système invassif, lister des classes me semble difficile.
Peut-être passer un truc genre doxygen sur le code, puis grepper le résultat ?
Autrement, un outil comme http://www.cppdepend.com/ doit pouvoir faire ça, je pense...
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager