社区
C++ 语言
帖子详情
如果一个类没有成员函数,它的对象还占内存空间吗??
flyiner
2006-04-25 08:30:27
“一个类对象所占的内存空间由它的数据成员所占的空间总和所决定,一个类的成员函数是不占对象的内存空间的”钱能的教材上这么说
...全文
354
12
打赏
收藏
如果一个类没有成员函数,它的对象还占内存空间吗??
“一个类对象所占的内存空间由它的数据成员所占的空间总和所决定,一个类的成员函数是不占对象的内存空间的”钱能的教材上这么说
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
anwsp
2006-04-27
打赏
举报
回复
占一个字节
来保证不同实体之间的不同
abblly
2006-04-27
打赏
举报
回复
如果一个类没有成员变量也没有虚函数,它只占一个byte的空间用来确定唯一的地址,因为如果不占空间的话它的地址将和后面定义的其他的变量占用同一个地址,为了区分所以必须有一个空间,大小一般是1。。
universee
2006-04-26
打赏
举报
回复
virtual 成员函数是要占内存空间的
zwzzwz
2006-04-26
打赏
举报
回复
占一个字节
code_tin
2006-04-25
打赏
举报
回复
占一个字节
来保证不同实体之间的不同
cutenoob
2006-04-25
打赏
举报
回复
那能否这么说:如果类有成员变量的话,对象占的内存空间就是成员变量所占的内存空间??
~~~~~~~
刚开始都是这么理解的...
xmlhb
2006-04-25
打赏
举报
回复
1.nonstatic数据成员的总和所决定
2.对齐alignment
3.virtual
以上取自inside the c++ object model
flyiner
2006-04-25
打赏
举报
回复
“一个类对象所占的内存空间由它的数据成员所占的空间总和所决定”
那能否这么说:如果类有成员变量的话,对象占的内存空间就是成员变量所占的内存空间??
sankt
2006-04-25
打赏
举报
回复
这个类里没有任何真正的成员变量,所以大小应该是0,但0大小不好在内存中定位一个地址,所以,就规定它大小为0的对象要占一字节空间,以便让它拥有一个合法的地址。
flyiner
2006-04-25
打赏
举报
回复
晕了,其实我是想问“如果一个类没有成员变量,它的对象还占内存空间吗?? ”
请问fantasyzzz(陈陈),你的说法确定吗?
可是对象空间是由成员变量决定,和成员函数有关系吗??
braveconf
2006-04-25
打赏
举报
回复
成员函数是不占instance大小的
fantasyzzz
2006-04-25
打赏
举报
回复
如果一个类没有成员函数,它只占一个byte的空间用来确定唯一的地址,因为如果不占空间的话它的地址将和后面定义的其他的变量占用同一个地址,为了区分所以必须有一个空间,大小一般是1。。
C++中
类
所
占
的内存大小以及
成员函数
的存储位置
类
所
占
内存的大小是由成员变量(静态变量除外)决定的,虚函数指针和虚基
类
指针也属于数据部分,
成员函数
是不计算在内的。因为在编译器处理后,成员变量和
成员函数
是分离的。
成员函数
还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓
成员函数
只是在名义上是
类
里的。 其实
成员函数
的大小不在
类
的
对象
里面,同
一个
类
的多个
对象
共享函数代码。 而我们访问
类
的
成员函数
是通过
类
里面的
一个
指针实现,而这个指针指向的是
一个
table,table里面记录的各个
成员函数
的地址(当然不同的编译可能略有不同的实现
c++
类
的
成员函数
在定义
对象
前分配了存储空间吗?
对于一般的
类
(非静态)来说,在定义
类
但还未创建
对象
的时候,
类
的所有成员(包括变量和函数)都
占
用着
内存空间
(准确地说
占
用着指令代码区),但不
占
用堆栈空间 而创建
对象
的时候,会根据
对象
的
类
型
占
用堆栈的空间(用传统模式创建
对象
会
占
用栈空间,用引用+new模式创建
对象
会
占
用堆空间,同时引用会保存在栈里) 对于静态(static)
类
来说,静态
类
是不能实例化创建
对象
的,所有的成员都是静态成员,也需
【C++】
对象
实例化/
成员函数
/成员变量的内存管理
文章目录1.
对象
实例化的内存管理总结2.C++
成员函数
在内存中的存储方式3.C++
类
的实例化
对象
的大小之sizeof()实例一:实例二:实例三:实例四:实例五:实例六:实例七:实例八:实例九: 1.
对象
实例化的内存管理 解释: 因 C++中
成员函数
和非
成员函数
都是存放在代码区的,故
类
中一般
成员函数
、友元函数,内联函数还是静态
成员函数
都不计入
类
的
内存空间
,测试一和测试二对比可证明这一点 测试三中,因出现了虚函数,故
类
要维护
一个
指向虚函数表的指针,分别在 x86目标平台和x64目标平台下编译运行的结果可证
C++笔记:
类
里面的函数
占
用内存吗?
文章目录
类
里面的函数
占
用内存吗?
类
里面的函数
占
用内存吗?
类
占
用成员变量的4个字节,
类
里面的函数
占
用内存吗? 每个
对象
都有自己的成员变量(非公用),但对于
成员函数
,每次调用时都是经由内存地址找到唯一的函数进行调用(是公用)【函数被调用,才会编译;函数一旦编译完,就有自己的内存地址】 代码如下: #include <iostream> using namespace std; struct Person { int age; void run() { cou.
类
的空间分配
一个
类
只声明,但是
没有
实例化,会
占
用空间吗?
成员函数
是否分配空间? 我明白,
对象
在实例化时分配空间,但是
成员函数
并不
占
对象
的空间呀。是所有
对象
共有的呀。 所以我如果仅仅声明了
类
,但是
没有
实例化,会为这个
类
分配空间吗?即会为这个
类
的
成员函数
分配内存吗? 在哪里分配呢? 把
类
的
成员函数
就看成是一般的函数,不同的是就是他的参数在编译是会自动增加
一个
this的参数传递! 如果用汇编得
C++ 语言
65,184
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章