c++编译器偷偷做的事

贴一: http://blog.csdn.net/ACb0y/archive/2011/02/11/6179167.aspx

贴二: http://kmplayer.iteye.com/blog/674710

 

以上是其中一部分。

对于c++类中带有虚拟函数时,显示多态特性时,编译器做的事情:

1.

默认会为每一个class object生成一个虚拟函数表指针,该指针指向一个外部的虚拟函数表,表内存有type_info信息和虚拟函数信息。

 

2.

默认情况下构造函数会初始化这个虚拟函数表指针,析构函数会释放该虚拟函数表指针指向的函数表,默认的copy assignment也会对vbptr做一定的处理。

 

 

你可能感兴趣的:(C++,c,object,Class,编译器)