私はポインターをいじっています。例として、コードは次のとおりです。
int foo = 25;
int * bar = &foo;
cout << (unsigned long int) bar;
実行すると何かが出力3216952416
されます。
では、このコードを実行すると、なぜこのような低い数値、さらには負の数値が出力されるのでしょうか?
int total = 0, amount = 0;
for( int i = 0; i < 100000; i++ )
{
int foo = 25;
int * bar = &foo;
total += (unsigned long int) bar;
amount++;
}
cout << "Average pointer position of foo: " << total / amount << endl;
それはおそらく単純なものです...