Sont des variables en C ++ implicitement des pointeurs
J'ai du mal à essayer de comprendre cela. Lorsque nous tapons en c ++
int a = 4;
Il est clair que le gestionnaire de mémoire alloue 4 octets pour contenir la valeur 4 et conserve cette valeur dans une adresse spécifique. Donnant le fait que "une" variable n'est qu'un nom.
- Où la variable "a" est-elle stockée?
- Est-ce qu'il le stocke quelque part dans la mémoire et pointe vers l'adresse mémoire de 4, puisque nous savons que 4 n'est qu'un objet temporaire en soi et que "a" lie en quelque sorte une référence ou un pointeur
Réponses
Sont des variables en C ++ implicitement des pointeurs
Non. Les variables ne sont pas implicitement des pointeurs.
Où la variable "a" est-elle stockée?
Quelque part (ou nulle part ) dans la mémoire. L'allocation de mémoire pour les variables est la responsabilité de l'implémentation du langage.
Le stocke-t-il quelque part dans la mémoire
Oui (ou nulle part).
et pointe vers l'adresse mémoire de 4
Non. Un tel pointeur n'existe pas dans la machine abstraite.
Alors, comment "a" connaît-il l'objet "4"
4 n'est pas un objet. 4 est un littéral ou une valeur en fonction du contexte / de la perspective.
an'est pas quelque chose qui sait quoi que ce soit. Le compilateur sait que l'objet nommé par aa la valeur 4.
- Où la variable "a" est-elle stockée?
D'après mon expérience, "a" n'est pas stocké au moment de l'exécution. La norme n'exige pas non plus qu'elle soit stockée. C'est un nom utilisé pour la compilation, la liaison et le débogage. Les données nécessaires au compilateur, à l'éditeur de liens et au débogueur sont spécifiques à la plate-forme. La norme ne dicte pas la nature de ces données.
Compte tenu de cela, votre deuxième question peut être ignorée.