176 votes

Ce qui est le pire réelle macros/pre-multiprocesseur vous maltraiter ' ve jamais trouvée par hasard ?

Quel est le pire du monde réel macros/pré-processeur de l'abus que vous avez jamais rencontré (s'il vous plaît pas artificiel IOCCC réponses *haha*)?

Veuillez ajouter un extrait ou d'une histoire si c'est vraiment divertissant. Le but est d'enseigner quelque chose au lieu de toujours dire aux gens "ne jamais utiliser les macros".


p.s.: J'ai utilisé les macros avant... mais en général je ne m'en débarrasser par la suite quand j'ai une "vraie" solution (même si la vraie solution est incorporé de sorte qu'il devient semblable à une macro).


Bonus: Donner un exemple où la macro a été était vraiment mieux qu'un non-macro solution.

Question liée: Lorsque le C++ macros bénéfique?

274voto

jeffamaphone Points 31732

Mon pire :

J’ai passé deux jours de ma vie traquer certains problème de comptage Réf multi-thread COM parce qu’un idiot mettre ceci dans un fichier d’en-tête. Je ne vous parle la compagnie que j’ai travaillé à l’époque.

La morale de cette histoire ? Si vous ne comprenez pas quelque chose, lisez la documentation et apprendre à ce sujet. Ne pas juste faire disparaître.

166voto

Joel Spolsky Points 22686
#define ever (;;)
for ever { 
   ...
}

130voto

Andy White Points 36586
#define private public

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