Maison >développement back-end >C++ >Où sont stockées les références aux objets lorsqu'ils sont créés sur la pile ou sur le tas ?
Création d'objet sur la pile ou le tas :
La question se pose : lors de la création d'un objet sur la pile versus le tas, où sont les références à ces objets réellement stockés ?
En C , le stockage des objets est déterminé par son contexte, à savoir son stockage durée :
Object o crée un objet avec :
Objet* o crée un pointeur avec fonction automatique stockage.
Les pointeurs sont alloués sur la pile comme n'importe quel autre objet. Leur durée de stockage est déterminée par leur contexte, et non par l'expression d'initialisation.
Par exemple, dans le fragment de code ci-dessous :
struct Foo { Object o; }; Foo foo, f; Foo* p = new Foo; Foo* pf = &f;
En résumé, l'emplacement de stockage des objets dépend uniquement de son contexte, tandis que les pointeurs sont toujours alloués sur la pile mais peuvent référencer des objets de stockage divers durées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!