les templates qui offrent une bonne sécurité et de bonne capacité de spécialisation en fonction des types; pour faire la même chose avec des macros, faut relire 10 fois avant de s'assurer qu'on a bien fait taff.
#define cmp(a, b) _Generic(b, int : cmpInt, float: cmpFloat, default: cmpPtr)(a,b)
Tu te relis beaucoup de fois pour un truck qui se fait en une ligne de code, et est assez explicite, je trouve.
Bon ok, c'est du C11, et si tu veux faire la même chose avec des macros en C++, ça va peu être plus compliqué.
[^] # Re: l'article est intéressants
Posté par uso (site web personnel) . En réponse au lien Hans Peter Anvin : Kernel C++20 ? (article de qualité sur developpez.com). Évalué à 3.
Tu te relis beaucoup de fois pour un truck qui se fait en une ligne de code, et est assez explicite, je trouve.
Bon ok, c'est du C11, et si tu veux faire la même chose avec des macros en C++, ça va peu être plus compliqué.