C++对象封装后的内存布局

打印 上一主题 下一主题

主题 845|帖子 845|积分 2535

在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
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表