先看看类auto_ptr的内部实现机制:    template<typename _Tp>      class auto_ptr      {      private:  &nb
原创 2011-02-27 12:04:31
529阅读
  应该这么用auto_ptr #include <memory> … auto_ptr<TestClass> ap(new TestClass);//注意这里是调用的构造函数,不是=重载符 ap->Func(); 或者 TestClass* p = new TestClass; auto_ptr<TestClass) ap(p);
原创 2010-04-11 13:07:00
325阅读
要看注释!!!//C++98//1.管理权转移。带有缺陷的早期设计,公司严禁使用他//2.如果面试官让你写一个智能指针,不要写auto_ptr,因为他本来就是带有缺陷的,写unique_ptrnamespace juju{ template<class T> class auto_ptr { public: auto_ptr(T* ptr) :_ptr(pt...
原创 2021-08-10 10:22:49
102阅读
C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。使用std::auto_ptr,要#include 。[1] 中文名自动指针外文名auto_ptr目录1 代码2 作用代码编辑在C++中, auto_ptr是一个类,它用来实现对动态
转载 2021-07-13 14:18:36
118阅读
#include "boost/scoped_ptr.hpp"#include #include //contain auto_ptrusing namespace std;using boost::scoped_ptr;int main(int argc, char* argv[]){scoped...
转载 2016-01-15 18:24:00
116阅读
2评论
    class Int   {  public:     Int(int i)      { &nbsp
原创 2012-10-21 20:17:00
288阅读
  1.autor_ptr是简单智能指针,不允许转移所属关系。赋值,参数传递的时候会转移所有权,因此不要轻易进行此类操作,若进行此操作原auto_ptr 失效,不会执行析构。   2.auto_ptr还有一个比较好的就是保证异常安全,在有异常抛出,提前结束函数块时也会保证析构。   3. 赋值操作。利用已经存在的智能指针来构造新的智能指针,在赋值之前,原来指向的对象被析构       总结:   
原创 2021-09-01 13:38:36
213阅读
auto_ptr是当前C++标准库中提供的一种智能指针,或许相对于boost库提供的一系列眼花缭乱的智能指针, 或许相对于Loki中那个无所不包的智能指针,这个不怎么智能的智能指针难免会黯然失色。诚然,auto_ptr有这样那样的不如人意,以至于程序员必须像使用”裸“指针那样非常小心的使用它才能...
namespace std  {   template<class T>  class auto_ptr    {   private:    T* ap;    public: &nbs
转载 精选 2012-10-21 20:09:32
374阅读
What's auto_ptr? The auto_ptr type is provided by the C++ standard library as a kind of a smart pointer that helps to avoid resource leaks when excep...
原创 2021-08-03 17:56:17
232阅读
翻译:elmar 本文发表于1999年10月份的C/C++ Users Journal, 17(10)   很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常
转载 精选 2009-11-11 17:13:09
691阅读
// TestAutoPtr.cpp : Defines the entry point for the console application.  //   #include "stdafx.h"  #include 
原创 2012-09-20 22:26:57
1261阅读
#include <memory>#include <iostream>#include <cstddef>using namespace std;class TraceHeap { int i;public: static void* operator new(size_t siz) { void* p = ::operator new(siz); cout << "Allocating TraceHeap object on the heap " << "at address " <&
转载 2009-10-25 15:25:00
63阅读
2评论
很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。 1.为什么称它为“自动”指针?auto_ptr只是众多可能的智
转载 2015-12-16 17:19:00
170阅读
2评论
C++11中的四种智能指针前言C++ STL 提供了四种智能指针:auto_ptr、unique_ptr、shared_ptr 和 weak_ptr。其中auto_ptr 是 C++98 提供的解决方案,C+11 已将其摒弃,并提出了 unique_ptr 作为 auto_ptr 替代方案。虽然 auto_ptr 已被摒弃,但在实际项目中仍可使用,但建议使用较新的 unique_ptr,因为 un
转载 2022-11-04 09:44:28
304阅读
       Stl  中 auto_ptr只是众多可能的智能指针之一,auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。     这里是一个简单的代码示例,如果没有auto_ptr,        &nbsp
转载 精选 2011-06-07 18:18:25
558阅读
看这里: http://blog..net/lollipop_jin/article/details/8499530 shared_ptr可以多线程同时读,但是涉及到写,需要加锁。 shared_ptr开销较大。 多个(5个以上)shared_ptr共享一个动态对象,那么每个shared_p
转载 2017-03-04 10:55:00
91阅读
2评论
都是这周看书以及代码的总结:        Stl  中 auto_ptr只是众多可能的智能指针之一,auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。     这里是一个简单的代码示例,如果没有auto_ptr,       &
转载 2023-01-09 12:52:57
96阅读
http://www.cppblog.com/SmartPtr/archive/2007/07/05/27549.htmlauto_ptr是当前C++标准库中提供的一种智能指针,或许相对于boost库提供的一系列眼花缭乱的智能指针, 或许相对于Loki中那个无所不包的智能指针,这个不怎么智能的智能指...
转载 2013-03-11 11:19:00
93阅读
2评论
 对于类中存在指针变量,指针变量的内存是动态分配的。会存在主要两个问题。(1)在赋值,复制等方面,浅复制,只是讲指针的值相互复制,但指针指向的对像却是公用的,假如某一个对象析构后,会将公用的指针指向的对象删去,另一个对象会出现悬垂指针。解决办法:(1)深复制,每次重新创建一个对象,赋予相同的值。(2)引用计数,直到的对象为0时,才删除公共的对象。(2)动态创建一个类对象时,此类中含有动态
原创 2013-09-07 12:32:29
759阅读
  • 1
  • 2
  • 3
  • 4
  • 5