c++编译器偷偷做的事

来源:互联网 发布:lg电视连接网络机顶盒 编辑:程序博客网 时间:2024/06/03 09:20

贴一: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做一定的处理。

 

 

原创粉丝点击