次のプログラムでsizeof(int)
がsizeof(int*)
と異なる値を返すのはなぜですか?sizeof(int)がsizeof(int *)と異なるのはなぜですか?
はここで小さなプログラムである:私は、整数ポインタのサイズを覚えて今まで4バイト(GCCコンパイラ)
4
8
されています。ここ
int main(){
std::cout<<sizeof(int)<<endl;
std::cout<<sizeof(int*)<<endl;
return 0;
}
されて出力されます。ポインタの正しいサイズを確認するにはどうすればよいですか?それはコンピュータに依存していますか?私はUbuntuのに12.04
# lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
を実行しています
は、ポインタのサイズが8バイト(標準サイズ)一定ではないです。
64ビットオペレーティングシステム? – gliderkite
@ ahenderson-すべてのポインタが同じサイズであることが保証されていますか? – templatetypedef
また、 'uname -a'または' file 'の出力を追加します。 –
0xC0000022L