Some weird but useful C code

来源:互联网 发布:linux openfile 编辑:程序博客网 时间:2024/05/18 16:36

1.Determine the struct/class address based on it member address #define list_entry(ptr, type, member) / ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member))) Assume that type is defined as follows.

class net_address{

public: 

long m_address; 

short m_port;

};

Then ((net_address*)0)->m_port denotes the offset of m_port in net_address.

原创粉丝点击