C++ 无虚函数的单继承内存模型

Posted chengonghao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 无虚函数的单继承内存模型相关的知识,希望对你有一定的参考价值。

C++类因为有继承的存在要比C时代的struct复杂得一些,特别是加上有虚函数的时候,以及多继承等这些特性更是令其内存布局变得面目全非。说实在的我也把握不了,我只是在一个实际的平台上进行了一些探索而已,并用此篇笔记将我的探索成果记录下来。

 

虽然说有些东西在C++标准里面没有规定如何做,不同的实现可能会有不同的作法,但是了解一个实际的系统是如何做的也会有益于我们更加深入的了解C++或者举一反三地理解其他的实现,而且如果我们了解了自己所用的系统上的具体实现的话,就可以对其为所欲为。

 

1.没有虚函数单继承内存布局


以上是关于C++ 无虚函数的单继承内存模型的主要内容,如果未能解决你的问题,请参考以下文章

一文详解C++类的内存布局和虚函数底层实现机制

一文彻底读懂C++虚函数的实现机制

C++ 虚函数表解析

C++ 虚函数表解析

C++ 虚函数表解析

C++ 虚函数表解析