Bonjour à tous.
Je développe une librairie C++ pour la physique (header only parce que c'est du code hautement templaté) et j'ai une petite question. Pour l'instant, je n'ai jamais utiliser de spécification d'exception dans la déclaration de mes fonctions. Lorsque qu'une fonction doit lancer une exception, je met juste le throw suivi de l'exception adéquate dans le corps de la fonction... et c'est tout.
Mais j'ai réalisé sur cppreference.com (http://en.cppreference.com/w/) que pas mal de fonctions de la librairie standard étaient déclarées noexcept. Ma question est donc: dois-je ajouter le mot clé noexcept à toutes mes fonctions (vu l'étendu de mes sources, je sens que ça va être long) qui ne comportent ni de throw ni d'appel à des fonctions pouvant lancer une exception.
Si je dois le faire, pourriez-vous m'expliquer exactement pourquoi et les avantages de ce mot-clé ? Y-aurait-il un tutorial qui explique les bonnes pratiques concernant son utilisation ?
Merci beaucoup
Partager