@thaega@oc.todon.fr
Un cours je sais pas mais je pense pouvoir t'aider si tu as des questions...
En gros, et si je dis pas de bĂŞtises :
- soit tu fais de l'allocation statiques, du genre quand tu définis une variable par "int i = 0;" et la mémoire est allouée à ce moment-là et libérée à la fin du bloc (genre la fonction) dans lequel est définie la variable
- la création d'objet fonctionne comme un allocation statique (un peu comme si on allouait une structure) sauf qu'une fonction est appelée apprès l'allocation (le constructeur) et à la fin du bloc (le destructeur je crois ?)
[...]
@thaega@oc.todon.fr
- soit tu fais de l'allocation dynamique (du genre "int* i = malloc(100*sizeof(int));") et tu dois la libérer toi-même ( "free(i)") sinon tu t'exposes à une fuite mémoire.
Il n'y a pas de système de garbage collector en C++
@Nocta @thaega@oc.todon.fr
c'est du C ça. :p
En C++ tu utilises plutĂ´t new int()[100] et delete.
Mais! en C++14, tu as des pointer intelligents qui libère la mémoire dès que plus rien ne pointe dessus. ( les shared_pointer je crois... ) Mieux que le garbage collector. (à priori c'est géré à la compilation plutôt qu'à l’exécution.
Il y a aussi d'autre types de pointers, mais je connais mal le C++14 donc je vais pas aller plus loin.