C++ class与内存
2015-08-09 16:43
543 查看
//类名 变量名 栈区
//类名 *指针名 = new 类名 堆区
//类的静态成员 静态区
//类的成员函数,静态函数都在代码区,类的函数都是共享的
//代码共享,所有的类对象共享代码
//const变量在类的外部,一开始必须初始化,用常量强行替换,不读内存
//const变量在类的内部,必须构建一个类才能初始化,const与C语言里的const是一样的
//常规创建类对象的时候在栈上,new创建对象的时候,在堆上
//引用本质上就是变量的别名,4个字节,本质上是一个指针
//引用变量跟其他变量一样,常规创建类对象的时候在栈上,new创建对象的时候,在堆上
//static const int dashu;//静态常量区
//静态常量区可以访问,但是不能修改,可以用注射的方式修改
//类名 *指针名 = new 类名 堆区
//类的静态成员 静态区
//类的成员函数,静态函数都在代码区,类的函数都是共享的
//代码共享,所有的类对象共享代码
//const变量在类的外部,一开始必须初始化,用常量强行替换,不读内存
//const变量在类的内部,必须构建一个类才能初始化,const与C语言里的const是一样的
//常规创建类对象的时候在栈上,new创建对象的时候,在堆上
//引用本质上就是变量的别名,4个字节,本质上是一个指针
//引用变量跟其他变量一样,常规创建类对象的时候在栈上,new创建对象的时候,在堆上
//static const int dashu;//静态常量区
//静态常量区可以访问,但是不能修改,可以用注射的方式修改
#include <iostream> #include <functional> using namespace std; using namespace placeholders; class myclass { public: int num; int data; int *p; const int coint; int &myint; static int shu; static const int dashu;//静态常量区 public: static void go() { cout << "hehehe" << endl; } void run() { cout << "runrunrun" << endl; } myclass(int a, int b) :coint(a), myint(b) { cout << &a << " " << &b << endl; cout << &coint << " " << &myint << endl; const int *p = &coint; cout << *p << " " << coint << endl; int *px = const_cast<int*>(p); *px = 12; cout << coint << " " << *px << endl; } ~myclass() { } }; int myclass::shu = 0;//初始化 const int myclass::dashu = 20; void main() { myclass myclass1(10,9); void(myclass::*p)() = &myclass::run;//传统函数指针调用,代码共享,所有的类对象共享代码 void(*p1)() = &myclass::go;//函数指针调用静态函数,go auto func1 = bind(&myclass::run, &myclass1);//仿函数调用run func1(); const int *px = &myclass::dashu; int *ppx = const_cast<int*>(px); *ppx = 12;//静态常量区可以访问,但是不能修改,可以用注射的方式修改 cout << *ppx << " " << *px << " " << myclass::dashu << endl; cin.get(); }
相关文章推荐
- Android Native 绘图方法
- IE7降低内存和降低CPU的几个技巧
- 如何高效的使用内存
- DOS下内存的配置
- C#中struct和class的区别详解
- XP/win2003下发现1G的内存比512M还慢的解决方法
- PowerShell实现动态获取当前脚本运行时消耗的内存
- VBS ArrayList Class vbs中的数组类
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- C#实现把dgv里的数据完整的复制到一张内存表的方法
- SQL语句实现查询SQL Server内存使用状况
- C语言内存对齐实例详解
- 全局变量与局部变量在内存中的区别详细解析
- VB读取线程、句柄及写入内存的API代码实例
- php运行提示:Fatal error Allowed memory size内存不足的解决方法
- 深入了解PHP类Class的概念
- IE浏览器IFrame对象内存不释放问题解决方法
- C#之CLR内存深入分析
- setAttribute 与 class冲突解决
- JavaScript中的类(Class)详细介绍