我可以安全地假设数据成员的偏移量(offsetof(mystruct, myfield)
)在数值上等于使用&mystruct::myfield
检索的成员指针的原始值,还是与实现有关?是一个指向数据成员的偏移量?
1
A
回答
3
否;没有指定对成员指针的实现,并且没有定义的转换来获取“原始”值。
0
形式上,它是依赖于实现的,当然。在现实生活中,是的,指针到数据成员指针的最流行的实现是(或基于)计划和简单偏移,即与offsetof
评估的相同。
某些实现使用精确的偏移量,采用0xFFF...
模式来表示空指针值。一些执行模块为空指针值保留0x000...
模式,同时将所有“非空”偏移量增加1
。
相关问题
- 1. 指向成员的偏移量
- 2. 成员变量的C++偏移量?
- 3. 从偏移量中选择一部分数据从偏移量到偏移量
- 4. 指向一个成员函数
- 5. 存储一个指向对象成员变量的指针
- 6. 指向一个对象的成员函数的指针
- 7. C++指向成员的指针(指向成员的基类)
- 8. 如何创建一个指向数组类成员的指针?
- 9. 问题的指针指向一个成员函数
- 10. 成员函数指针指向另一个对象的方法
- 11. GWT TimeZone偏移是否向后偏移?
- 12. 指向成员的指针
- 13. 根据点偏移量计算方向
- 14. CURLOPT_WRITEFUNCTION指向成员函数的指针
- 15. 指向成员函数的指针
- 16. 指向成员函数的指针
- 17. 向量中的结构,一个向量包含8000个成员
- 18. 类的成员指向类的成员
- 19. ReadProcessMemory - 向指针添加5个偏移量
- 20. 将指针派生类成员变量转换为指向基类成员变量的指针是否合法?
- 21. 指向数据成员与非成员指针的隐式转换
- 22. 反向时区偏移量
- 23. 如何通过偏移量访问私有数据私有成员?
- 24. 将指针指向成员函数作为指向C函数的指针是一种很好的做法
- 25. C++类的成员变量知道其自己的偏移
- 26. 返回指向成员数据的指针
- 27. C++从一个公共成员函数返回指针的向量/映射
- 28. 是否可以指向类成员的Typedef函数指针?
- 29. 指向虚拟成员函数的指针是否可比?
- 30. 如何向图表中的数据集添加偏移量js
不应该这样认为。您忘记了编译器可能会插入的用于管理为对象分配的内存的开销(内存)。 – DumbCoder 2012-01-30 16:35:50
更好的问题是:既然你知道这两种形式,你为什么不*使用指向成员的指针? :) – 2012-01-30 16:41:48
我实际上正考虑使用指向成员的指针,因为我的程序使用offsetof做了一些低级技巧,并且我想将它们“提升”到更标准的形式。 – 2012-01-30 16:51:54