Pourquoi est-sizeof(int) différents que sizeof(int*)?

Je me demande pourquoi dans le programme suivant sizeof(int) retourne une valeur différente de celle sizeof(int*).

Voici le petit programme:

int main(){
    std::cout<<sizeof(int)<<endl;
    std::cout<<sizeof(int*)<<endl;
    return 0;
}

Et voici le résultat:

4
8

Jusqu'à maintenant je me souviens de la taille d'un pointeur entier est 4byte(compilateur gcc). Comment puis-je vérifier la bonne taille d'un pointeur? Est-elle dépendante de l'ordinateur?

Je suis sous ubuntu 12.04

# lsb_release -a

Distributor ID: Ubuntu 
Description: Ubuntu 12.04 LTS 
Release:    12.04 
Codename:   precise

Est la taille du pointeur n'est pas constante(taille standard) 8 octets.

Système d'Exploitation 64 bits?
Êtes-vous sûr que tous les pointeurs sont garantis être de la même taille?
Pour info, il n'y a pas de "Taille Standard".
Les pointeurs de types différents n'ont pas à être de la même taille.
Charlesworth : Pourrais-je voir un exemple dans le code. Je ne suis pas trop sûr sur la question maintenant.

OriginalL'auteur yogi | 2012-06-11