Le coup du tableau trop court d'un élément est un classique... et c'est bien pour ça que j'apprécie C++, justement: pas besoin de gérer ses tableaux dynamiques à la main, vector fait ça très bien tout seul (et depuis avant les années 2000). Et si il ne le fait pas assez bien pour une raison X ou Y, alors on implémente son propre conteneur, et on colle des assert un peu partout: ça aide.
Je pense qu'en C aussi il doit y avoir des outils pour aider, mais vu qu'en C rien n'est automatique, l'intérêt est assez faible.
Bref, pour moi un développeur C++ qui fait une allocation dynamique doit avoir une vraie bonne raison, comme par exemple aimer se faire chier avec des bugs inutiles.
Je dirais que pour utiliser C pour un nouveau projet, il faut le même type de vraies bonnes raisons (non, vraiment, je n'en vois pas beaucoup, de raisons d'utiliser le C sur un nouveau code... quitte a ne pas utiliser la RTTI et les exceptions pour des raisons de taille binaire, rien n'empêche d'avoir ses propres conteneurs sans exception, et le résultat sera aussi portable que pour du C. Encore que... j'ai un doute, il me semble qu'il faut un peu plus de code d'initialisation pour C++ que C, de l'ordre de quelques dizaines de lignes en plus? Sur du baremetal je suppose que ça peut être une bonne raison, mais sur un PC? Pas vraiment.)... Qu'il est bon d'être trolldi.
[^] # Re: Je blâme le C et le C++
Posté par freem . En réponse au journal Le paranormal en informatique. Évalué à 3.
Le coup du tableau trop court d'un élément est un classique... et c'est bien pour ça que j'apprécie C++, justement: pas besoin de gérer ses tableaux dynamiques à la main, vector fait ça très bien tout seul (et depuis avant les années 2000). Et si il ne le fait pas assez bien pour une raison X ou Y, alors on implémente son propre conteneur, et on colle des
assertun peu partout: ça aide.Je pense qu'en C aussi il doit y avoir des outils pour aider, mais vu qu'en C rien n'est automatique, l'intérêt est assez faible.
Bref, pour moi un développeur C++ qui fait une allocation dynamique doit avoir une vraie bonne raison, comme par exemple aimer se faire chier avec des bugs inutiles.
Je dirais que pour utiliser C pour un nouveau projet, il faut le même type de vraies bonnes raisons (non, vraiment, je n'en vois pas beaucoup, de raisons d'utiliser le C sur un nouveau code... quitte a ne pas utiliser la RTTI et les exceptions pour des raisons de taille binaire, rien n'empêche d'avoir ses propres conteneurs sans exception, et le résultat sera aussi portable que pour du C. Encore que... j'ai un doute, il me semble qu'il faut un peu plus de code d'initialisation pour C++ que C, de l'ordre de quelques dizaines de lignes en plus? Sur du baremetal je suppose que ça peut être une bonne raison, mais sur un PC? Pas vraiment.)... Qu'il est bon d'être trolldi.