码迷,mamicode.com
首页 >  
搜索关键字:智能指针    ( 834个结果
C++11 auto_ptr 的问题
auto_ptr作为最早的智能指针,可以实现以RAII手法管理堆区对象,但它设计的本意只是简单的利用C++对于栈区对象的自动析构管理堆区对象, 并不像shared_ptr那样包含引用计数,可以在每次拷贝的时候多出一个“分身”。这时候,拷贝的语义就成了很大的问题(按理说直接禁掉可能好好些), 于是就出
分类:编程语言   时间:2016-02-28 15:12:29    阅读次数:169
如何用shared_ptr减少锁的争用
在并发环境下锁的使用是家常便饭, 如何减少锁的使用是优化程序性能的一个方面. c++11里面新增了智能指针std::shared_ptr, 这个东西也许能给我们带来些启发. shared_ptr的一个特性是当引用计数为0时,它所拥有的堆内存会被自动释放. 利用这个特性我们可以做点实用的功能, 如下程
分类:其他好文   时间:2016-02-27 12:19:48    阅读次数:119
Boost智能指针——shared_ptr
转: http://www.cnblogs.com/TianFang/archive/2008/09/19/1294521.html boost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boo
分类:其他好文   时间:2016-02-22 18:59:56    阅读次数:120
C++ template —— 智能指针(十二)
在管理动态分配的内存时,一个最棘手的问题就是决定何时释放这些内存,而智能指针就是用来简化内存管理的编程方式。智能指针一般有独占和共享两种所有权模型。----------------------------------------------------------------------------
分类:编程语言   时间:2016-02-22 16:38:29    阅读次数:204
C++ template —— 类型区分(十一)
前面的博文介绍了模板的基础,深入模板特性,模板和设计的一些内容。从这篇开始,我们介绍一些高级模板设计,开发某些相对较小、并且互相独立的功能,而且对于这些简单功能而言,模板是最好的实现方法:(1)一个用于类型区分的框架;(2)智能指针(3)tuple(4)仿函数--------------------
分类:编程语言   时间:2016-02-22 16:32:45    阅读次数:234
【C/C++学院】0904-boost智能指针/boost多线程锁定/哈希库/正则表达式
boost_array_bind_fun_ref Array.cpp #include #include #include using namespace std; using namespace boost; void mainA () { array barray = { 1, 2, 3, 4, 5 }; barray[0] = 10; barray.at(4) =...
分类:编程语言   时间:2016-02-21 18:41:51    阅读次数:282
C++ Primer 学习笔记_56_STL剖析(十一)(原boost库):详解智能指针(unique_ptr(原scoped_ptr) 、shared_ptr 、weak_ptr源码分析)
注意:现在boot库已经归入STL库,用法基本上还和boost类似 在C++11中,引入了智能指针。主要有:unique_ptr, shared_ptr, weak_ptr。 这3种指针组件就是采用了boost里的智能指针方案。很多有用过boost智能指针的朋友,很容易地就能发现它们之间的关间: std boost 功能说明 uniq...
分类:编程语言   时间:2016-02-19 14:28:33    阅读次数:2677
尝试在C++里实现 Java 的 synchronized 关键字
话说Java里有个很强大的关键字叫synchronized,可以方便的实现线程同步。今天异想天开,尝试在C++里模拟一个类似的。 最近在学习C++的STL,看见智能指针这章节时,无不感叹利用语言的丰富特征,来各种实现各种巧妙的构思。最经典的莫过于使用栈对象构造/析构函数,来维护局部资源的初始化和释放
分类:编程语言   时间:2016-02-17 09:25:17    阅读次数:238
智能指针版本链表
class Node; using NodePtr = std::unique_ptr<Node>; class Node { public: int value; NodePtr next = nullptr; explicit Node(int value_ = 0): value(value_
分类:其他好文   时间:2016-02-13 15:46:17    阅读次数:164
Qt 智能指针学习(7种QT智能指针和4种std智能指针)
从内存泄露开始? 很简单的入门程序,应该比较熟悉吧 ^_^ #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label
分类:其他好文   时间:2016-02-01 20:36:57    阅读次数:146
834条   上一页 1 ... 44 45 46 47 48 ... 84 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!