C++代码说明成员函数与数据成员在空间如何重新分配硬盘空间大小方面的区别

C++中的成员变量和成员函数在内存中是怎么存储的?与结构体中变量和函数的存储相同吗?_百度知道
C++中的成员变量和成员函数在内存中是怎么存储的?与结构体中变量和函数的存储相同吗?
就拿你的例子来说一,
//类的成员变量,当类实例化后占用内存空间
//同上
//处于静态数据内存区,程序运行后同一分配,与类的实例化与否无关二,函数的地址存在于代码区,不占用对象内存。但是对于含有虚函数的类来说,实例化后的对象中必定会有一个指向虚函数表的指针,占用一个指针的空间。三,MyClass *myC
//在栈上分配一个指针,但你不知道它指向哪里,因为没有给它赋值。如果是MyClass *myClass = new MyC 这样,在堆内存上创建了一个MyClass类型的对象,完成了内存的分配,就可以通过这个指针访问int a,float b,以及fun1()之类的成员变量了。四,占用空间大小的话class和struct应该是相同的,不过这里有个字节对齐的概念typedef struct{}MyS和typedef struct{}MyS实例化后所占的内存空间是不一样的,有兴趣可以去了解一下。
其他类似问题
为您推荐:
简单点非静态员变量占用空间员函数(论否静态)则占用空间:class&&MyClass{int&a;&&//占用4字节float&b;&//占用4字节static&int&c;//全局数据区所象共享计入各象int&fun1();&//占用象空间float&fun2();//占用象空间static&int&fun3();//占用象空间};MyClass类实例:占用2*4=8字节&(即a&b两员)涉及虚函数表些另外研究c++structclass计算象用区别计算
成员变量的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁1911人阅读
对C++的领悟与想法(21)
void c();// n
void d(){ print(&d() is a inline function.&);}
类中的成员函数(如上面的C()方法)和全局变量,静态变量一样,存储在静态区.编译时你的类的成员函数已经获取了空间.在类声明时不在占用空间.
而在类中定义了函数体的成员函数(如上面的d())会被编译器,编译成内联函数,即调用该函数直接嵌入函数的代码,不需要跳转指令,当然你也可以将该函数显示为内联函数,如 incline void c(),此时c()就是内联函数了。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:57132次
排名:千里之外
原创:19篇
转载:10篇
(3)(5)(21)以下试题来自:
填空题______ 是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。 参考答案构造函数
为您推荐的考试题库
你可能感兴趣的试题
1.填空题 参考答案公有继承
私有继承2.填空题 参考答案软件复用3.填空题 参考答案sizeof4.填空题 参考答案软件工程学5A.MyClass(50)B.SetNum(50)C.ptr->SetNum(50)D.ptr->n=50
热门相关试卷
最新相关试卷C++静态数据成员是在编译时分配空间,那普通数据成员是在什么时候分配内存空间,是在运行时吗_百度知道
C++静态数据成员是在编译时分配空间,那普通数据成员是在什么时候分配内存空间,是在运行时吗
提问者采纳
静态变量编译配程序结束才释放态变量运行态配根据定义位置确定比函数定义超该函数范围变量释放
提问者评价
你真棒,学习了
其他类似问题
为您推荐:
静态数据的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 怎么分配磁盘空间 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信