如何在C ++中找到对象的字节偏移量?

时间:2010-05-11 03:43:50

标签: c++ memory object g++ offset

假设我创建了5个对象,所有对象都来自同一个类。第一个对象的字节偏移量是0吗?我如何找出其他对象的字节偏移量?

2 个答案:

答案 0 :(得分:0)

什么的“字节偏移量”?您是否正在创建包含5个此类对象的数组?在那种情况下,当然,第一个(从数组的开头)的字节偏移量是0;至于其他对象,

static_cast<char*>(&thearray[i]) - static_cast<char*>(&thearray[0])

i的字节偏移量。

答案 1 :(得分:0)

无论您对offset的意思是什么,您都可以自己检查对象的地址:

printf("%p %p", (void *) &thingOne, (void *) &thingTwo);