すべて同じクラスから5つのオブジェクトを作成するとします。最初のオブジェクトのバイトオフセットは0になりますか?他のオブジェクトのバイトオフセットをどのように見つけることができますか?
1109 次
2 に答える
0
何からの「バイトオフセット」?そのような5つのオブジェクトの配列を作成していますか?その場合、確かに、(配列の先頭からの)最初のバイトオフセットは0です。他のオブジェクトについては、
static_cast<char*>(&thearray[i]) - static_cast<char*>(&thearray[0])
はi
thのもののバイトオフセットです。
于 2010-05-11T03:48:13.747 に答える
0
の意味に関係なく、offset
いつでもオブジェクトのアドレスを自分で調べることができます。
printf("%p %p", (void *) &thingOne, (void *) &thingTwo);
于 2010-05-11T04:01:43.997 に答える