Pour moi, en C++ tu n'appelle pas manuellement les constructeurs (d'assignation, de copie, ...) ou les destructeurs. Donc la durée de vie d'une variable au sein d'une scope est gérée pour toi. En C tu devras appeler ces fonctions à la main.
La STL fournit nombre d'abstractions qu'il est désormais recommandé d'utiliser, sauf si tu as un besoin spécifique bien sûr.
L'héritage, déjà rien que ça. Je recommande la lecture de ooc.pdf pour comprendre comment l'implémenter en C, et ainsi comprendre comment le C++ masque un autre concept bas niveau (organisation de la mémoire, édition des liens, etc...).
Ce qui fait qu'un langage peut être considéré comme haut niveau selon moi, c'est le nombre d'abstraction présente. Et C++ possède beaucoup d'abstraction, la ou le C n'en possède quasiment aucune.
[^] # Re: C++, haut niveau ?
Posté par David Delassus (site web personnel) . En réponse au journal Écrire un jeu en Rust presque de zéro. Évalué à 3.
Ce qui suit n'est que mon avis.
Pour moi, en C++ tu n'appelle pas manuellement les constructeurs (d'assignation, de copie, ...) ou les destructeurs. Donc la durée de vie d'une variable au sein d'une scope est gérée pour toi. En C tu devras appeler ces fonctions à la main.
La STL fournit nombre d'abstractions qu'il est désormais recommandé d'utiliser, sauf si tu as un besoin spécifique bien sûr.
L'héritage, déjà rien que ça. Je recommande la lecture de ooc.pdf pour comprendre comment l'implémenter en C, et ainsi comprendre comment le C++ masque un autre concept bas niveau (organisation de la mémoire, édition des liens, etc...).
Ce qui fait qu'un langage peut être considéré comme haut niveau selon moi, c'est le nombre d'abstraction présente. Et C++ possède beaucoup d'abstraction, la ou le C n'en possède quasiment aucune.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg