ToB企服应用市场:ToB评测及商务社交产业平台

标题: C++对象封装后的内存布局 [打印本页]

作者: 雁过留声    时间: 2024-5-17 09:16
标题: C++对象封装后的内存布局
在C语言中,数据和数据的处置惩罚操作(函数)是分开声明的,在语言层面并没有支持数据和函数的内在关联性,我们称之为过程式编程范式或者程序性编程范式。C++兼容了C语言,当然也支持这种编程范式。但C++更主要的特点在支持基于对象(object-based, OB)和面向对象(object-oriented, OO),OB和OO的基础是对象封装,所谓封装就是将数据和数据的操作(函数)构造在一起,在语言层面包管了数据的访问和操作的一致性,这样从代码上更能表现出数据和函数的关系。在这里先不讨论在软件工程上这几种编程范式的优劣,我们先来分析对象加上封装后的内存布局,C++相对于C语言是否需要占用更多的内存空间,如果有,那么到底增长了多少内存成本?本文接下来将对各种情形进行分析。
空对象的内存布局

请看下面的代码,你觉得答案应该输出多少?
[code]#include using namespace std;class Object {    // empty};int main() {    Object object;    cout




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4