社区
C++ 语言
帖子详情
分配空间问题!
chenlei1700
2005-05-23 10:12:26
数据成员和数据函数在类的头文件和类的内部实现的定义里是不是都不分配空间?
“类的头文件和类的内部实现的定义”的本质属于声明?
只有静态的才能在类的内部实现中分配空间?
...全文
104
7
打赏
收藏
分配空间问题!
数据成员和数据函数在类的头文件和类的内部实现的定义里是不是都不分配空间? “类的头文件和类的内部实现的定义”的本质属于声明? 只有静态的才能在类的内部实现中分配空间?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Zark
2005-05-24
打赏
举报
回复
楼主对类成员变量的理解是正确,对成员函数的理解是不对的.
无论是内联成员函数,正常成员函数还是在类内实现的函数都在编译中"分配空间",不过我们通常不称之为"分配空间",因为"分配空间"通常是指数据段来说的,代码段不存在这个问题.
对函数成员变量,如果它不是静态的,那么就只有等到它实例化的时候才分配空间.
例如:
class A
{
int i;
public:
void f() {printf("test");}
};
class B
{
int j;
public:
void g() {printf("again");}
};
void main()
{
A a;
a.f();
}
在本例中只A类的成员变量i有空间,B类的成员变量j是没有空间的.但是无论是函数f()还是g()都有真实的代码体(当然可能B类以及g()都被优化掉了).
nerrymeeting
2005-05-24
打赏
举报
回复
UP
zenny_chen
2005-05-23
打赏
举报
回复
怎么会不分配空间呢!?它们在编译时期就已经得到了其相应地址,存放在堆栈中,它们是在编译时期静态分配的。
而对于变量、函数的声明,编译器也会将这些符号存放在符号表中。如果只在头文件中声明,却没有在外部定义,编译器会发出警告,甚至是通不过编译。
zdy_8212
2005-05-23
打赏
举报
回复
编译时代码就不分配空间,但它会促使执行后的代码不随着改动,当然除非你定义的是static。而运行时的代码都需要分配空间的。
sankt
2005-05-23
打赏
举报
回复
up
zhangsong1238
2005-05-23
打赏
举报
回复
在头文件中是不会对数据分配空间的,相当于一个声明
qhfu
2005-05-23
打赏
举报
回复
不分配空间怎么行啊,这问题提的有意思,,,, 在类体中实现就是内联。
Windows内核-内存管理
- 缺页异常解决了什么
问题
- 堆,栈这些内存是怎么申请的 - Windows内核情景分析 第三章 - 不管什么程序,除了程序代码本身所占用的
空间
外,程序在运行过程中总得使用一定的内存
空间
,...
win10可用
空间
变成未
分配
_两种方法有效利用Win10未
分配
的
空间
!
原标题:两种方法有效利用Win10未
分配
的
空间
!我的Win 10计算机上有一个大小99GB的未
分配
空间
:「我在Windows计算机上安装了两个硬盘,所以从来不担心磁盘
空间
不足的情况发生。目前C盘旁有一个99GB的未
分配
空间
不知...
vbox ubuntu虚拟机扩容方案 虚拟
分配
空间
转换为实际
分配
空间
一般在创建vdi的时候都是选的动态
分配
存储,如果选择的是动态
分配
存储,那么查看虚拟
分配
空间
和实际
分配
空间
就会不一致。那么第一步就是扩大虚拟
分配
空间
。(以下都是基于Ubuntu的操作)1. 扩...
结构体指针的内存
空间
分配
问题
(C语言)
结构体指针的内存
空间
分配
问题
(C语言) 提示:文章结尾有两个代码的合并的精简版! 结构体指针在使用前,必须
分配
内存
空间
给该结构体指针,否则会导致数据无法录入;在给结构体指针
分配
内存
空间
时又分两种情况,...
使用malloc函数
分配
空间
1.使用malloc函数
分配
空间
malloc函数的原型是: void *malloc(unsigned int size);...上面两个这种
分配
空间
方式没有什么
问题
,
分配
长度为4的连续
空间
, 将函数原型的返回类型void *强制转换为float */c
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章