Dans le tas ou dans la pile ?
Hello :)
J'étudie le C++ depuis quelques temps et je dois avouer que je suis déjà accro :p
Je connais déjà bien les notions liées à la mémoire, mais en codant un petit programme je me suis posé la question suivante.
Si je crée un objet dans le tas sans créer explicitement ses propres membres dans le tas, sont-t-il eux aussi crée dans le tas ?
Exemple:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
class Objet
{
public:
Objet();
~Objet();
// Membres
int premier;
AutreObjet deuxieme;
};
int main()
{
Objet MonObjet = new Objet();
MonObjet->deuxieme; // cet objet membre est-t-il dans le tas ou dans la pile ?
} |
A ce que je comprends du système de la pile, logiquement après chaque fin de fonction elle est vidée, donc les membres de mon Objet sont eux aussi dans le tas. Mais comme le corp du programme (main) est aussi une fonction, celà voudrait dire que mes membres sont dans la pile ?
J'ai un doute qui m' habite même la nuit lol