首页 > 其他 > 详细

库宏总结

时间:2020-06-28 15:43:36      阅读:62      评论:0      收藏:0      [点我收藏+]

zo总结遇到的比较有意思的宏。

offsetof(s,m),在c里面是一个宏,在C++里有对应的函数。

宏的原型:

#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)

宏的功能:

返回结构体成员MEMBER在结构体TYPE中的偏移量。将0强制转换为一个地址为0的结构体指针变量,编译器返回结构体中相应成员的地址,而该地址相对于为0的结构体首地址自然就是偏移量地址了。由于编译器特性实际没有访问这个空指针中的任何成员,因此也不会出现内存错误。

 

库宏总结

原文:https://www.cnblogs.com/chen1993/p/13202811.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!