C++11智能指针处理Array对象

//C++11的//完全可以避免写手动的delete代码,
//但是它默认使用delete删除对象,
//如果是数组对象,需要指定自定义的删除方法,支持delete[]std::shared_ptr p(new int[10],
{
delete[] p;
});
//或者使用helperstd::shared_ptr p(new int[10],std::default_delete());

unique_ptr跟shared_ptr不一样,它直接支持持有数组对象

std::unique_ptr p(new int[10]);//okstd::shared_ptr p(new int[10]);//error, does not compile
std::unique_ptr p(new int[10],
{
delete[] p;
});

Original: https://www.cnblogs.com/think/archive/2012/09/24/CPPSmartPointerForArray.html
Author: Think
Title: C++11智能指针处理Array对象

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535420/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • c++容器set

    class Solution { public: vector intersection(vector& nums1, vector& nums2) { // ve…

    C++ 2023年5月29日
    051
  • Silverlight5通过P/Invoke调用自定义C/C++ DLL(Lua)

    注1:为了确保silverilght5在浏览器或桌面上成功调用win32 DLL,必须在项目属性中勾选相应的权限: 勾选Enable running application out…

    C++ 2023年5月29日
    074
  • [C++] 构造函数初始化列表

    C++ 类中构造函数中成员变量的初始化方式有两种: 1、构造函数体内(常用方式) 2、构造函数初始化列表 这两种方式,对于基本类型成员没有区别,但是对复杂类型成员(比如类,结构体等…

    C++ 2023年5月29日
    053
  • [转][c++11]我理解的右值引用、移动语义和完美转发

    c++中引入了 右值引用和 移动&#x8…

    C++ 2023年5月29日
    062
  • C/C++中的常量指针与指针常量(转)

    常量指针 常量指针是指向常量的指针,指针指向的内存地址的内容是不可修改的。 常量指针定义”const int p=&a;”告诉编译器,p是常量,不能将*p作…

    C++ 2023年5月29日
    040
  • VC++注册,卸载OCX控件,以及判断是否注册

    注册OCX控件 BOOL CYourClass::RegistOcx() HINSTANCE hLib = LoadLibrary(“NTGraph.ocx&#8221…

    C++ 2023年5月29日
    082
  • c++ 条件变量

    http://blog.csdn.net/hemmanhui/article/details/4417433 互斥锁:用来上锁。 条件变量:用来等待,当条件变量用来自动阻塞一个线程…

    C++ 2023年5月29日
    043
  • Lua & C++

    Lua 与 C++ 交互 ## 提供系统级别Lua API 提供系统级别API需要对Lua源码进行修改 ### Lua源码编译 [LuaResourceCode]:https://…

    C++ 2023年5月29日
    062
  • c++ 解析yaml文件

    一直用c++操作 ini做配置文件,想换成 yaml,在全球最大的同性交友网站 github上搜索,看有没有开源的库,功夫不负有心人,找到了yaml-cpp,试着解析了一个 yam…

    C++ 2023年5月29日
    063
  • [转]C++ 模板 静态成员 定义(实例化)

    如果有这样一个模板: 对于以下若干种定义方式,哪些是对的(通过编译)? 为了不影响大家分析判断,我把答案颜色调成比较浅的颜色,下面即是答案: 首先,说明一下三个正确的答案。 第一种…

    C++ 2023年5月29日
    081
  • 【面试攻略】C++面试-点点互动

    2020-11-23-点点互动 自我介绍 1.redis的数据结构和优化 https://blog.csdn.net/weixin_43631706/article/details…

    C++ 2023年5月29日
    056
  • CLion之C++框架篇-优化框架,引入boost(三)

    背景 结合上一篇CLion之C++框架篇-优化框架,单元测试(二) ,继续进行框架优化!这一版优化引入一个我们日常经常使用的操作库Boost,估算使用频率在70%以上! Boost…

    C++ 2023年5月29日
    078
  • EclipseC++学习笔记-7 汉化

    1、复制https://download.eclipse.org/technology/babel/update-site/latest/ 注意要和版本保持一致,如果版本不对安装之…

    C++ 2023年5月29日
    064
  • 开个坑, 写个阿里云开放储存服务(OSS)的C++版SDK以及客户端

    这应该是继我研究手册QQ协议后的第2个稍微正式一点的网络程序, 不只是Scoket套接字编程, 还涉及到更多的HTTP协议知识! 阿里云开放储存服务OSS官方已经提供了不少SDK,…

    C++ 2023年5月29日
    063
  • c++ string 和wstring 之间的互相转换函数

    #include <string> std::string ws2s(const std::wstring& ws) { std::string curLoca…

    C++ 2023年5月29日
    055
  • LLVM Constant Value to c++ value

    auto llval = b.getInt32(-1); std::cout << llval->getZExtValue() << "\n…

    C++ 2023年5月29日
    073
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球