名称 描述 CAutoPtr::Attach 调用此方法将现有指针的所有权。 CAutoPtr::Detach 调用此方法释放指针的所有权。 CAutoPtr::Free 调用此方法删除点的对象。CAutoPtr。公共运算符展开表 名称 描述 CAutoPtr::operator T* 转换运算符。 CAutoPtr::operator = 赋值运算符。 CAutoPtr::operator - > 指向成员的...
delete _ptr; _ptr = NULL; } } private: T *_ptr; }; 大致一看,没毛病!突然觉得自己无所不能,感觉自己就是传说中的编程天才! 可是,如果我想这样的话...: 1 2 3 4 5 AutoPtr<int> ap1(new int(100)); AutoPtr<int> ap2(new int(200)); AutoPtr<int> ap3(ap1); AutoPtr<int> ap4(...
释放指针的所有权,设置CAutoPtr::m_p数据成员变量设置为NULL,并返回指针的副本。在调用Detach后,将由释放CAutoPtr对象可以以前假定reponsibility的所有已分配的资源的程序员。 示例 在参见CAutoPtr概述的示例。 要求 Header:atlbase.h 请参见 参考 CAutoPtr选件类 ...
T * operator ->( ) const throw( ); 返回值 返回CAutoPtr::m_p数据成员变量的值。 备注 使用此运算符调用选件类的方法指向由CAutoPtr对象。如果CAutoPtr指向NULL,在调试版本中,断言失败将发生。 示例 在参见CAutoPtr概述的示例。 要求 Header:atlbase.h 请参见 参考 CAutoPtr选件类...
template<typename E> class CAutoPtrList : public CAtlList<ATL::CAutoPtr<E>, CAutoPtrElementTraits<E>> 参数 E 指针类型。 成员 公共构造函数 展开表 名称描述 CAutoPtrList::CAutoPtrList 构造函数。 备注 此类提供构造函数并从 CAtlList 和CAutoPtrElementTraits 派生方法,以帮助创建存储智能指针的列...
选件类类型。 返回值 返回对CAutoPtr< T >。 备注 赋值运算符在原地分离所有当前指针的CAutoPtr对象并附加新的指针,p。 示例 在参见CAutoPtr概述的示例。 要求 Header:atlbase.h 请参见 参考 CAutoPtr选件类 CAutoPtr::Attach CAutoPtr::Detach
看到ATL中有3个类的代码比较比较重复,在atlbase.h中,分别是CAutoVectorPtr, CAutoPtr和CAutoStackPtr,他们的功能其实很类似STL中的autoptr, 但是这里因为针对不同的分配对象而用了3个不同的类,其中CAutoVectorPtr是针对数组类型的,CAutoPtr是针对普通的非数组类型,而CAutoStackPtr针对的是_malloca分配的类型,因...
1.auto关键字 在C++11中,auto作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得 简而言之,这个关键字的作用就是自动给变量设置一个数据类型 1.1基本使用 #include<iostream> #include<typeinfo> usingnamespacestd; intTestAuto() ...
std::auto_ptr<std::string> ps (newstd::string(str)); ... if(weird_thing ()) throwexception(); str = *ps; // delete ps; NO LONGER NEEDED return; } 2、auto_ptr 智能指针(auto_ptr) 这个名字听起来很酷是不是?其实auto_ptr 只是C++标准库提供的一个类模板,它与传统的new/delete控制内存...