J'ai toujours posé cette question mais je n'ai jamais reçu de bonne réponse ; je pense que presque tous les programmeurs, avant même d'écrire le premier "Hello World", ont rencontré une phrase comme "les macros ne devraient jamais être utilisées", "les macros sont diaboliques", etc. Avec le nouveau C++11, y a-t-il une réelle alternative après tant d'années ?
La partie facile concerne les macros comme #pragma
qui sont spécifiques à la plate-forme et au compilateur, et la plupart du temps, ils présentent de graves défauts tels que #pragma once
qui est source d'erreurs dans au moins deux situations importantes : même nom dans des chemins différents et avec certaines configurations de réseau et systèmes de fichiers.
Mais en général, qu'en est-il des macros et des alternatives à leur utilisation ?