C++ 11提供的智能指针有:shared_ptr、unique_ptr、weak_ptr。在 头文件 memory 中。 一、new delete 直接管理内存 1、初始化 string * ps = new string // 初始换为一个空string int * pi = new int ; ...
分类:
编程语言 时间:
2020-01-28 10:49:44
阅读次数:
99
内存泄露(臭名昭著的BUG) 动态申请堆空间,用完后不归还 C++语言中没有垃圾回收机制 指针无法控制所指堆空间的生命周期 我们需要什么? 需要一个特殊的指针 指针生命周期结束时主动释放堆空间 一片堆空间最多只能由一个指针标识 杜绝指针运算和指针比较(可以避免野指针) 解决方法 指针操作符(->和* ...
分类:
其他好文 时间:
2020-01-26 22:18:36
阅读次数:
85
本文翻译自 "https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage" 介绍 cef是个基于chromium的开源项目。跟chromium项目不同,cef主要聚焦于 google chrome应用开发,cef集中于促进嵌入式浏览器在第 ...
分类:
其他好文 时间:
2020-01-17 11:28:57
阅读次数:
61
RAII(Resource Acquisition Is Initialization),也称为“资源获取就是初始化”,是C++语言的一种利用对象生命周期来控制资源的技术。 简单的说,RAII 的做法是使用一个对象,在其构造时获取资源,在对象生命期控制对资源的访问使之始终保持有效,最后在对象析构的时 ...
分类:
其他好文 时间:
2020-01-09 13:27:09
阅读次数:
72
shared_ptr shared_ptr实现的是引用计数型的智能指针,可以被自由地拷贝和赋值,在任意的地方共享它,当没有代码使用它时才删除被包装的动态分配的对象。 类摘要: template class shared_ptr { public: typedef T element_type; // ...
分类:
其他好文 时间:
2019-12-23 22:33:37
阅读次数:
89
智能指针weak_ptr为弱共享指针,实际上是share_ptr的辅助指针,不具备指针的功能。主要是为了协助 shared_ptr 工作,可用来观测资源的使用情况。weak_ptr 只对 shared_ptr 进行引用,而不改变其引用计数,当被观察的 shared_ptr 失效后,相应的 weak_ ...
分类:
其他好文 时间:
2019-12-23 13:41:27
阅读次数:
399
title: 03、NS 3的对象框架 之 智能指针 tags: 新建,模板,小书匠 slug: storywriter/upgrade_log grammar_mindmap: true renderNumberedHeading: true grammar_code: true grammar_ ...
分类:
其他好文 时间:
2019-12-21 20:38:25
阅读次数:
99
概念 智能指针从字面上看,首先是一个对象,而它的行为(或接口)是在模拟一个指针,但又比指针更加智能。指针的主要作用是引用资源,指针的最大问题是在复杂情况下很难管理好它指向的资源的生命周期。因此智能指针要做的就是在管理资源生命周期这件事情上更加“智能”。C\+\+11已经在 unique_ptr, s ...
分类:
其他好文 时间:
2019-12-21 11:27:49
阅读次数:
79
unique_ptr 对对象独有管理,无法复制,共享,值传递,可以使用move语义来转移控制权。 std::default_delete<int> d; std::unique_ptr<int> u1; std::unique_ptr<int> u2 (nullptr); std::unique_p ...
分类:
其他好文 时间:
2019-12-20 18:52:48
阅读次数:
73
Why Make_shared ? C++11 中引入了智能指针, 同时还有一个模板函数 std::make_shared 可以返回一个指定类型的 std::shared_ptr, 那与 std::shared_ptr 的构造函数相比它能给我们带来什么好处呢 ? 优点 效率更高 shared_ptr ...
分类:
编程语言 时间:
2019-12-15 23:31:27
阅读次数:
168