C++程序运行时内存布局之----------简单类实例,成员变量,成员函数,静态成员变量,静态成员函数
来源:互联网 发布:淘宝付款时间限制 编辑:程序博客网 时间:2024/04/30 17:18
本文转自 http://blog.csdn.net/smstong/article/details/6583214
源代码如下:
- #include <iostream>
- using namespace std;
- class CSimple
- {
- public:
- //静态成员变量
- static const int sx = 0;
- //静态函数
- static void SF1()
- {
- }
- public:
- //成员变量
- int x;
- public:
- //成员函数
- void F1()
- {
- cout<<"I'm from CSimple::F1()"<<endl;
- }
- void F2()
- {
- cout<<"I'm from CSimple::F1()"<<endl;
- }
- public:
- //构造函数,C++语法不允许获取构造函数和析构函数地址,要分析其地址,只能查看生产的汇编代码了。
- CSimple()
- {
- }
- //析构函数
- ~CSimple()
- {
- }
- };
- typedef void (CSimple::*Func)();
- union
- {
- Func f;
- void *addr;
- }ut;
- int main(int argc, char** argv)
- {
- cout<<"main()函数的地址是 :"<<std::hex<<std::showbase<<main<<endl;
- ut.f = &CSimple::F1;
- cout<<"成员函数F1()的地址是 :"<<std::hex<<std::showbase<<ut.addr<<endl;
- ut.f = &CSimple::F2;
- cout<<"成员函数F2()的地址是 :"<<std::hex<<std::showbase<<ut.addr<<endl;
- cout<<"静态成员函数SF1()的地址是:"<<std::hex<<std::showbase<<CSimple::SF1<<endl;
- cout<<"静态成员变量sx的地址是 :"<<std::hex<<std::showbase<<&CSimple::sx<<endl;
- cout<<"CSimple类型实例的大小 :"<<sizeof(CSimple)<<endl;
- CSimple* pObj = new CSimple();
- cout<<"对象指针变量的地址是 :"<<std::hex<<std::showbase<<&pObj<<endl;
- cout<<"新建对象的地址是 :"<<std::hex<<std::showbase<<pObj<<endl;
- cout<<"成员变量的地址是 :"<<std::hex<<std::showbase<<&pObj->x<<endl;
- //CSimple *p = new CSimple();
- //(p->*f)();
- delete pObj;
- cin>>argc;
- return 0;
- }
运行结果:
- C++程序运行时内存布局之----------简单类实例,成员变量,成员函数,静态成员变量,静态成员函数
- C++程序运行时内存布局之----------简单类实例,成员变量,成员函数,静态成员变量,静态成员函数
- C++程序运行时内存布局之----------简单类实例,成员变量,成员函数,静态成员变量,静态成员函数
- C++程序运行时内存布局之----------简单类实例,成员变量,成员函数,静态成员变量,静态成员函数
- 静态成员变量成员函数
- 类的 静态成员 --- 静态成员变量 、 静态成员函数
- 静态成员变量和静态成员函数
- 静态成员函数和静态成员变量
- 静态成员变量 和 静态成员函数
- 静态成员变量和静态成员函数
- 静态成员变量和静态成员函数
- 静态成员变量与静态成员函数
- 静态成员变量 与 静态成员函数
- 静态成员变量与静态成员函数
- 静态成员变量和静态成员函数
- 静态成员变量和静态成员函数
- C++静态成员变量,静态成员函数
- 静态成员变量和静态成员函数
- 图片拖拽
- virtual box中安装CentOS5.6
- 编译IronPythonStudio源代码
- LATEX相关
- 磁珠的作用
- C++程序运行时内存布局之----------简单类实例,成员变量,成员函数,静态成员变量,静态成员函数
- oracle 自定义类型数据插入
- 学生管理系统信息查询部分主要功能总结
- 第二章 Android内核和驱动程序(转)
- weblogic10 下载
- GUI(主)线程与子线程之间的通信
- C++程序运行时内存布局之----------无继承情况下的虚函数
- Android 实战项目之五子棋 附源码
- Recommond books or blog about testing