是指向数据成员及其偏移量的指针



假设数据成员(offsetof(mystruct, myfield))的偏移量在数字上等于用&mystruct::myfield检索的成员指针的原始值是否安全,或者是否依赖于实现?

否;没有指定指向成员的指针的实现,也没有定义获取"原始"值的转换。

当然,从形式上讲,它是依赖于实现的。在现实生活中,是的,指针到数据成员指针最流行的实现是(或基于)计划和简单偏移,即offsetof评估的相同内容。

有些实现使用精确的偏移量,采用0xFFF...模式来表示空指针值。一些实现为空指针值保留0x000...模式,同时将所有"非空"偏移量增加1

相关内容

  • 没有找到相关文章

最新更新