Mi chiedo il motivo per cui nel seguente programma sizeof(int)
restituisce un valore diverso da sizeof(int*)
.Perché sizeof (int) è diverso da sizeof (int *)?
Ecco il piccolo programma:
int main(){
std::cout<<sizeof(int)<<endl;
std::cout<<sizeof(int*)<<endl;
return 0;
}
Ed ecco l'output:
4
8
Fino ad ora mi ricordo la dimensione di un puntatore intero è 4byte (compilatore gcc). Come posso verificare la dimensione corretta di un puntatore? È dipendente dal computer?
Sono in esecuzione Ubuntu 12,04
# lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
è la dimensione del puntatore non è costante (dimensioni standard) 8 byte.
Sistema operativo a 64 bit? – gliderkite
@ ahenderson- Sei sicuro che tutti i puntatori abbiano le stesse dimensioni? – templatetypedef
Aggiungete anche l'output di 'uname -a' o' file ' –
0xC0000022L