Salut à tous,

En C ou en C++, si on prend un pointeur (sur n'importe quel type) et qu'on détecte sa taille, par exemple:

int* ptr=0;
cout << sizeof(ptr) << endl;

On obtient 4, donc 4 octets de mémoire. J'en déduis qu'un pointeur est un peu comme un unsigned int, pointant sur le premier octet de la mémoire s'il est égal à 1, sur le 2ème octet de la mémoire s'il est égal à 2, et ainsi de suite.

Le problème, c'est qu'un int ne peut pas contenir une valeur déterminée infiniment grande. Admettons que j'aie 5 Go de mémoire vive ou plus, je ne pourrai alors plus coder toutes mes adresses sur un petit pointeur de 4 octets.

Celà signifie-t-il qu'on est limité à 4 Go de mémoire, ou que j'ai loupé un truc au sujet des pointeurs ?

Merci d'avance

Lionel