Some weird but useful C code

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.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章