设为首页 加入收藏

TOP

C++ Primer 学习笔记_89_用于大型程序的工具 --异常处理[续2](二)
2015-07-24 07:07:52 来源: 作者: 【 】 浏览:93
Tags:Primer 学习 笔记 _89_ 用于 大型 程序 工具 异常 处理
对象在定义pi的块的末尾删除;如果发生异常,则iP也超出作用域,析构函数将自动运行iP的析构函数作为异常处理的一部分;如果iP是全局对象,就在程序末尾删除iP引用的对象。



4、使用auto_ptr对象

auto_ptr类定义了解引用操作符(*)和箭头操作符(->)的重载版本,因为auto_ptr定义了这些操作符,所以可以用类似于使用内置指针的方式使用auto_ptr对象:

    auto_ptr
  
    strPtr(new string("HELLO!"));
    cout << *strPtr << endl;

    *strPtr = "TRex";
    string s = *strPtr;
    cout << s << endl;

    if (strPtr -> empty())
    {
        cout << "Empty!" << endl;
    }
    else
    {
        cout << "Not Empty!" << endl;
    }

  

auto_ptr的主要目的,在保证自动删除auto_ptr对象引用的对象的同时,支持普通指针式行为。正如我们所见,自动删除该对象这一事实导致在怎样复制和访问它们的地址值方面,auto_ptrs与普通指针明显不同

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++必知必会(5) 下一篇用二叉链表实现二叉查找树(二)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: