Sauf erreur, il n'est absolument pas question de placer un garbage collector systématique en C++... Au pire, il est peut être éventuellement question de proposer un GC que l'on peut décider d'activer (mais qui serait désactivé par défaut)...
Et encore, il me semble que ce n'était qu'une proposition, je ne sais meme pas si elle a été retenue au final
Les pointeurs intelligents n'ont absolument rien à voir avec un tel mécanisme (bon, allez, les unique_ptr du moins, car on peut éventuellement discuter pour savoir si le fonctionnement de shared_ptr ne calque pas d'une certaine manière le fonctionnement du GC :-S)
Il n'y a aucun point commun entre le mot clé auto en C++ et va en C# (à moins que je ne me trompe rudement sur ce dernier)!Et pour lancer un troll, le mot clé "auto" du C++ ne devrait pas exister... (sauf dans une boucle, à la rigueur, à cause des stl type). Le mot clé auto, l'équivalent de var en C#<snip>
Le mot clé auto a juste pour objectif de dire au compilateur "je connais le type d'une donnée, mais je suis trop fade pour l'écrire, et tu est parfaitement en mesure de déterminer ce type par toi même". Il permet l'inférence de type, il facilite l'écriture et la lecture du code, mais il n'allège absolument pas la rigueur avec laquelle le type d'une donnée sera traité : si tu définis avec le mot clé auto une variable comme étant une valeur correspondant au retour d'une fonction qui renvoie un int, tu pourras danser sur la tete, tu ne pourras pas utiliser cette variable pour représenter autre chose qu'un int (ou un type équivalent, implicitement convertible en int).
Bien sur, le premier cas auquel on pense avec le mot clé auto est bien sur celui des boucles (range based de préférence), mais, lorsque tu envisages ton développement sous l'angle du paradigme générique, le mot clé auto facilite énormément l'écriture (et la compréhension) du code, sans pour autant te dispenser de connaitre le type exact qui sera utilisé![]()
Partager