C++で質問です。
newした場合に確保されるエリアの状態を調べるために
char* buf1 = new char[28]; ::memset(buf1, 0, 28);
char* buf2 = new char[28]; ::memset(buf2, 0, 28);
cout << (int) buf1 << endl;
cout << (int) buf2 << endl;
として、アドレスを表示させるとbuf1+28=buf2にならずに
buf1+40=buf2になっています。
いろんなサイズで試してみると16byteの倍数+8byteになっているようなのですが、
この8byteは何のためのデータなのでしょうか?