• [^] # Re: Oublies le C.

    Posté par (site web personnel) . En réponse au journal C(++) ?. Évalué à 3.

    Cacher des truc dans des macros, utiliser = à la place de ==, utiliser une mauvaise arithmétique de pointeur pour modifier un autre membre dans une structure, mettre ??/ à la fin d'un commentaire d'une ligne. Bref, tout les trucs classique d'obscuration du code.

    La surcharge d'opérateur c'est pas bien méchant. Il n'y a pas de différence entre ces deux codes:

    mystruct3 = mystruct1 + mystruct2

    et

    mystruct3 = mystruct_add(mystruct1, mystruct2);

    Appart le fait que l'un est plus lisible, tu peux quand même mettre n'importe quoi dans chacune des fonction donc tu dois savoir ce qu'elle font. En général un bon IDE te met un tooltip par dessus l'opérateur et te permet de sauter directement à son implémentation.

    Et quand tu implémente un opérateur qui ne fait pas ce qu'il est sensé faire, c'est louche. Il faut avoir de vachement bonne raison pour surcharger l' operator,

    Pour l'overloading ou les spécialisation de template, je ne vois pas comment tu peux cacher quoi que ce soit.

    Et pour les référence, c'est vrai qu'il faut faire attention à la signature des fonctions. Là encore un bon IDE aide. Quand on respecte des convention sensée dans un programme ce n'est pas du tout un problème.

    Bref, je ne penses pas que le C++ aide à cacher des backdoor. Le C lui même est déjà suffisent. Et de bonnes pratiques de programmation aident dans les deux cas.