auto_ptr 中reset函数的问题
在vs2003中使用 auto_ptr 中reset函数 没有问题
将代码转换到vc6下后:
class CDimStyle //某类
auto_ptr<CDimStyle> DimStylePtr;
CDimStyle *pDimStyle=m_DimStylePList.Get(nID);
DimStylePtr.reset(pDimStyle);
编译提示错误:error C2039: 'reset' : is not a member of 'auto_ptr<class CDimStyle>'
我查了下先前的资料说用: DimStylePtr.get()->assign(pDimStyle);可以解决
但我改了后 通过get()返回CDimStyle 类型 但未找到assign方法
CDimStyle 继承于自己写的CObj类 CObj继承与CObject
希望前辈们帮下忙 万分谢谢 在线等
将代码转换到vc6下后:
class CDimStyle //某类
auto_ptr<CDimStyle> DimStylePtr;
CDimStyle *pDimStyle=m_DimStylePList.Get(nID);
DimStylePtr.reset(pDimStyle);
编译提示错误:error C2039: 'reset' : is not a member of 'auto_ptr<class CDimStyle>'
我查了下先前的资料说用: DimStylePtr.get()->assign(pDimStyle);可以解决
但我改了后 通过get()返回CDimStyle 类型 但未找到assign方法
CDimStyle 继承于自己写的CObj类 CObj继承与CObject
希望前辈们帮下忙 万分谢谢 在线等
...全文
相关推荐
c++的智能指针Auto_PTR的细致而经典的分析
#### 二、Auto_PTR 简介##### 2.1 动态内存管理问题在 C++ 中,动态内存的分配与释放往往成为开发者需要特别关注的问题。
c++11 智能指针(csdn)————程序.pdf
共享智能指针的基本用法:* 初始化:可以通过构造函数、std::shared_ptr 辅助函数、reset 方法来初始化。
智能指针使用
因此,它不能作为函数返回值或传递给其他函数,只能在创建它的作用域内使用,这有助于避免意外的内存管理问题。2.
c++11智能指针练习
必须熟练运用reset()方法显式释放所有权、get()获取原始指针(仅作观察用途)、release()移交控制权(仅unique_ptr支持)、use_count()查询共享引用数量(仅shared_ptr
MFC教程_ 内存分配方式和调试机制
这些类提供了自动释放堆上分配内存的功能,类似于STL中的auto_ptr。2.


