深度探索C++对象模型【前言】

什么是C++对象模型

有两个概念可以解释C++对象模型:

  • 1.语言中直接支持面向对象程序设计的部分
  • 2.对于各种支持的底层实现机制

对于第一点来说,我们所学习的有关于面向对象的概念与知识点都可以算作这部分;至于第二点,对于大多数人来说,我们通常在编程中并没有去思考这么多,只知道这样使用,然后编译器帮助我们完成一系列的工作,我们只要知道如何使用就行了,所以为什么要学习C++对象模型呢?或许可以这样说我们为什么要学习各种支持的底层实现机制呢?

为什么要学习C++对象模型

侯捷大师给出了自己的答案:C++这种语言的编译器为我们做了太多的服务:构造函数、析构函数、虚函数、继承、多态…有时候它为我们合成出一些额外的函数,有时候它又扩张我们所写的函数内容,放进更多的操作。而有时候甚至会放进很多“奇奇怪怪”的的东西。如果不了解编译器对我们的代码做了什么手脚,这些困惑永远也解不开。

个人理解:既然选择了C++,那么理解C++的底层实现机制会让我对于C++有更深的理解,在以后的学习中也能有莫大的帮助。

猜你喜欢

转载自blog.csdn.net/qq_38790716/article/details/84730014