Sauf que ce genre de méthode a programmé n'est guère efficace et peut être de donner impression que ça peut être avantageux , mais clairement pas.
Bktero a dit je que je pensais il faut mieux faire des fonction inline.
le C selon Neckara ?Pour moi, NULL sert surtout à éviter de faire
Je que je vois surtout c'est du code peu lisible et peu maintenable.Le but d'un tel code est d'être mis en début et en fin de fonction.
Il n'est donc pas fait pour être présent deux fois dans une fonction, après, c'est une chose à documenter etc.
Ensuite, je ne donne qu'un exemple, on peut très bien ajouter un deuxième argument pour donner un nom de variable unique et donc passer cette limitation.
Une bonne solution serait d'utiliser des listes chaînée mais il faudrait allouer les maillons .
Et il est sensé le deviné peut être ? genre "debutAlloc(SIZE)" a part lire ta déclaration y a vraiment aucun moyen de savoir ce qu'il fait réellement.Non, il n'a pas à le savoir.
Il sait juste qu'il "réserve" X allocations.
Il fait X allocation puis il "libère" en fin de fonction et c'est tout.
Il copie/colle en début et en fin de fonction, il utilise Malloc() au lieu de malloc(), j'ai pas plus simple.
Après, l'avantage des #define, c'est que ce genre de code est censé être utilisé de partout. Il est inconcevable de copier coller plusieurs lignes dans toutes les fonctions. Ceci sera bien plus maintenable que de corriger 5/6 lignes par fichiers
Après si t'appelle changer des ligne condensé un gain de temps , on doit pas avoir le même avis sur coder plus vite.
ça va etre un peu prétentieux mais disons que j'ai roulé ma bosse avec le C et je suis par nature pragmatique et ce genre de méthode est peu efficace par contre une méthode plus orienté procédurale/fonction couplé avec des structure est réellement bcp plus efficace ,lisible et maintenable.
Donc vu qu'on est la pour conseillé , autant pas conseillé des méthodes mauvaise parce que oui abus des defines rend le code méconnaissable , on peut même s'amuser a écrire dans une syntaxe d'un autre langage (grâce au define) mais ce genre écriture est proscrire en fait du C pas autre chose.
Partager