Bonjour,
J'ai une question, en C++, si l'on fait :
Quelle est la différence entre :Code:
1
2 int a=1; int* b=new int;
etCode:b = &a;
Merci d'avance,Code:*b = a;
Beul.
Version imprimable
Bonjour,
J'ai une question, en C++, si l'on fait :
Quelle est la différence entre :Code:
1
2 int a=1; int* b=new int;
etCode:b = &a;
Merci d'avance,Code:*b = a;
Beul.
Bonjour,
Code:
1
2 int a; int* b=new int;
Tu as 2 entiers (int) dans ton programme (a et celui pointé par b, qui a été créé par new).
Tu as également un pointeur sur un entier (int*) (b).
Code:*b = a;
Ça modifie la valeur de l’entier pointé par b pour lui donner la même valeur que a. (L’opérateur * sur un pointeur permet d’utiliser la variable pointée.)
Code:b = &a;
Ça modifie la valeur du pointeur b pour le faire pointer vers a, aucun entier n’est modifié. (L’opérateur & sur une variable renvoie l’adresse de la variable.)
Bref, ce sont deux opérations très différentes.
Bonjour,
Merci beaucoup nowahn, j'ai compris le truc et j'ai maintenant la conscience tranquille car je sais que je ne fais pas des choses au hasard dans mon programme. ;)
Encore merci,
Beul.