注意VC的内存使用,栈变量不可放在全局容器
来源:互联网 发布:龙神契约披风升阶数据 编辑:程序博客网 时间:2024/05/17 01:41
2011年,3月,编者:李国帅
编程序要小心谨慎,符合规则使用程序。
对象定义
class CDataAttibute:public CObject //通用数据结构{public:CDataAttibute(){m_fx=0.0F;m_fy=0.0F;m_csTag ="";m_fValue ="";m_csClass ="";}CDataAttibute(double dx,double dy):m_fx(dx),m_fy(dy){}~CDataAttibute(){}public:double m_fx;double m_fy;CString m_csTag;CString m_fValue;CString m_csClass;CDataAttibute & operator= (CDataAttibute &pDataAttibute) //重载 = 算符{if(&pDataAttibute == this)return *this;m_fx = pDataAttibute.m_fx;m_fy = pDataAttibute.m_fy;m_csTag = pDataAttibute.m_csTag;m_fValue = pDataAttibute.m_fValue;m_csClass = pDataAttibute.m_csClass;return *this;}};
对象使用
public:CObArray aryData;void CWinDialogDlg::OnBnClickedButton1(){CDataAttibute data_attibute;data_attibute.m_fx = 1;data_attibute.m_fy = 2;data_attibute.m_csClass ="World";data_attibute.m_fValue ="NewCuntry";data_attibute.m_csTag ="new Area";aryData.Add(&data_attibute);//把一个临时对象的指针放在公共对象是不对的。CDataAttibute* pdata_attibute = new CDataAttibute;*pdata_attibute = data_attibute;aryData.Add(pdata_attibute);//应该这样做}void CWinDialogDlg::OnBnClickedButton4(){int nCount = aryData.GetCount();//2CDataAttibute* pdata_attibute0 = (CDataAttibute*)aryData.GetAt(0);//内存已经被释放CDataAttibute* pdata_attibute1 = (CDataAttibute*)aryData.GetAt(1);//正常获取。ASSERT(pdata_attibute0->m_fx == 0);//浮点比较有问题delete pdata_attibute0;//错误,内存已经释放delete pdata_attibute1;aryData.RemoveAt(1);aryData.RemoveAt(0);}
阅读全文
0 0
- 注意VC的内存使用,栈变量不可放在全局容器
- java里的静态成员变量是放在了堆内存还是栈内存
- java里的静态成员变量是放在了堆内存还是栈内存
- java里的静态成员变量是放在了堆内存还是栈内存
- 你的变量究竟存储在什么地方 && 全局内存
- 引用 你的变量究竟存储在什么地方 && 全局内存
- 你的变量究竟存储在什么地方 && 全局内存
- 【14】Java内存深入理解:java里的静态成员变量是放在了堆内存还是栈内存
- vector 容器使用时应该注意的内存分配问题
- vector 容器使用时应该注意的内存分配问题
- 使用vector容器存储动态申请内存变量的注意事项
- 使用全局的指针变量
- VC在Debug模式下的变量内存布局
- 变量的使用注意
- 全局、静态、局部变量的内存分配
- 基本数据类型的成员变量放在jvm得哪块内存区域里?
- 全局/静态变量初始化为0出错? 全局/静态变量初始化为0放在bss段还是data段?
- GlobalAlloc全局内存的使用
- 数据库前台提示成功,实际后台为成功的问题
- Unity中Lerp与SmoothDamp函数使用误区浅析
- 使用VMware给虚拟机安装linux系统
- c++编写: 检测试笔记本电池充电状况
- SpringMVC从入门到精通(一)
- 注意VC的内存使用,栈变量不可放在全局容器
- 第30章 OpenWrt实现pppoe上网
- HDU5314 Happy King
- SpringMVC从入门到精通(二)
- Java邮件发送详解
- 欧建新之死
- 页面引入jtopo后,键盘方向键事件无用解决方法
- struts2快速入门
- 又一次被绿色了