博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c 通过成员变量地址 获取类对象地址_【C++学习笔记(十二)】之类中成员变量与成员函数的存储...
阅读量:5149 次
发布时间:2019-06-13

本文共 714 字,大约阅读时间需要 2 分钟。

                点上方蓝字开发小鸽获取更多干货

             在右上方 ··· 设为星标 ★,与你不见不散

本文章由公号【开发小鸽】发布!欢迎关注!!!

老规矩–妹妹镇楼:

b0e101905de6d4e1c3e2ccd3191e888b.png

一. C++的类中成员变量与成员函数的存储

        在C++的类中,虽然将成员变量与成员函数风筝在了一起,但是他们是分开存储的。

  1. C++的非静态成员变量是属于类对象的,占类对象的空间

  2. 成员函数却不属于类对象,不占类对象的存储空间

二. 总结

  1. 非静态成员变量,属于类对象,占用类对象空间

  2. 非静态成员函数 不属于类对象,不占用类对象空间

  3. 静态成员函数,静态成员变量都不属于类对象,都是单独的空间存储

三. 验证

        空类的大小为1个字节,因为每个实例的类对象,都有唯一的地址,每个类对象中有一个char 类型来维护这个地址。

        通过查看类的字节大小来验证

#define _CRT_SECURE_NO_WARNINGS #include using namespace std; class Person {
public: int a; //非静态成员变量,属于类对象 void func( ) {
}; //非静态成员函数 不属于类对象 static int b; //静态成员变量 ,不属于类对象 static void func2(){
}; //静态成员函数 ,不属于类对象 }; void test() {
cout << sizeof(Person) << endl; } int main(){
test(); return 0; }

       关注公众号【开发小鸽】,获取实战开发与深度学习资源,实战项目源码,最新论文下载,大厂面试经验!!!

转载地址:http://txdnv.baihongyu.com/

你可能感兴趣的文章
XlFileFormat
查看>>
Windows消息机制(转)1
查看>>
大话设计模式-职责链模式
查看>>
解决Ubuntu下博通网卡驱动问题
查看>>
Oracle中的instead of触发器
查看>>
【翻译】7个ASP.NET MVC最佳实践
查看>>
EF Core 2.1变化
查看>>
转:C++ Applications
查看>>
win7 64位机ODBC的数据源DSN添加和移除问题
查看>>
一个不错的逻辑回归的实例
查看>>
Python第一天
查看>>
css position
查看>>
【bzoj2788】Festival
查看>>
执行gem install dryrun错误
查看>>
Java SE之正则表达式一:概述
查看>>
广义表
查看>>
HTML5简单入门系列(四)
查看>>
AndroidStudio快捷键
查看>>
c++并发编程之原子操作的实现原理
查看>>
实现字符串反转
查看>>