2016-07-23 7 views
-5

4の私はポインタを表示したときに、それはこの例を示しますですC++ヒープポインタ奇妙なこと?私は理論的には二つのポインタが違いを持っ​​ている必要がありますので、(彼らは4つのバイトが離れている)<pre><code>int* pointer = new int; int* pointer2 = new int; </code></pre> </blockquote> <p>この</p> <blockquote> が、私はこれらの二つのポインタが私のコンピュータのメモリ内に隣接していると思います

0x6000227e0 
0x600022800 

2の違いは、そのためには、そのint型を意味し、 2バイト長ですか?私の論理は間違っていますか?

+1

これらの違いは、実際には「2」の違いはありますか? –

+1

彼らは0x20の差を持っています、または十進数で32です。その間にたくさんの「部屋」があります。 –

答えて

4

いいえ、それは2バイトではなく32バイトの違いです。差は、16進数では0x20、小数点では32です。

さらに、オブジェクトが連続してメモリに割り当てられることさえ保証されていません。

つまり、これらのメモリアドレスは絶対に何も意味しません。

+0

本当にありがとう! – gigi

関連する問題

 関連する問題