zoukankan      html  css  js  c++  java
  • The C++ Standard Library --- A Tutorial Reference 读书笔记

    5.2 Smart Pointer(智能指针)

    shared_ptr的aliasing构造函数,接受一个shared pointer和一个raw pointer。它允许你掌握一个事实:某对象拥有另一个对象。例如:

    struct X
    {
        int  a;
    };
    
    shared_ptr<X> px(new X);
    shared_ptr<int> pi(px,&px->a); 

    weak_ptr是shared-ptr的帮手,用来共享但不拥有对象,它的use_count()返回的对象是被shared_ptr拥有的次数,而且weak_ptr可以为空->expired()结果是true;lock()会产出一个shared-ptr。

    class unique_ptr继承auto_ptr(现已不被认可),可以release()(shared-ptr不可以release是因为可能有其他shared-ptr指向它对象)。

    对array,unique_ptr提供偏特化版本,而不用定义自己的deleter。例如:

    std::unique_ptr<std::string[]> up(new std::string[10]);

    unique_ptr与shared_ptr的deleter接口不同,它必须指明deleter的类型作为第二个template实参。

    5.3 数值的极值

    书中的例子用到 cout << boolalpha;

    boolalpha,函数名称,功能是把bool值显示为true或false。

     

  • 相关阅读:
    javascript 编码规范
    javascript 减少全部变量
    轮播图 jquery
    SVN MAC
    php excel
    php email
    查看网站后台
    linux 下载文件
    第6周小组作业:软件测试和评估
    第4周小组作业:WordCount优化
  • 原文地址:https://www.cnblogs.com/ph829/p/5099817.html
Copyright © 2011-2022 走看看