C++成员函数指针大小

今天被成员函数指针害了!

平时我们当一个类的成员中有一个其他类型的成员指针时,为了减少头文件依赖,经常使用声明方式

class Session;

而不是用

#include “Session.h”

而,如果不小心你用了Session的函数成员指针,如

void (Session::*handler)(Packet& recvPacket);

不幸的是,在运行时,和编译时的,sizeof将不一致,从我目前来看,编译时占用了16个字节,而,作为指针在 32位机器下应该为4个字节,而导致很多莫名其妙的问题

特此,留念

posted @ 2010-04-29 15:47 冷侃 阅读(...) 评论(...) 编辑 收藏