----------------------------------------shared_ptr--------------------------------------- ...
----------------------------------------shared_ptr--------------------------------------- ...
C++智能指针 shared_ptr shared_ptr 是一个标准的共享所有权的智能指针, 允许多个指针指向同一个对象. 定义在 memory 文件中(非memory.h), 命名空间为 std. shared_ptr 是为了解决 auto_ptr 在对象所有权上的局限性 ...
公司一哥们说make_shared构造shared_ptr比new要慢,我表示怀疑.因为make_shared只分配一次内存,而new需要分配两次.所以写一个demo测试一下. 分别测试开启优化,关闭优化,还有就是C++11开启move之后的性能情况. #include < ...
前戏 先抛出两个问题 如果delete一个指针,但是它真实的类型和指针类型不一样会发生什么? 是谁调用了析构函数? 下面这段代码会发生什么有趣的事情? 看一下 ...
我实现的网络库中使用了C++11中的shared_ptr. 昨天做profile,发现很多CPU都消耗在shared_ptr上,所以打算看看shared_ptr的效率如何. 实验是这样的,弄一个临时的shared_ptr,然后不停的拷贝,拷贝100W次,看消耗多长时间.实验对象是gcc ...
1. boost::shared_ptr的用法 2. boost::shared_ptr的实现机制 3. 使用boost::shared_ptr的注意事项 4. std::tr1::shared_ptr和boost::shared_ptr 5. 参考 1. boost::shared_ptr ...
问题描述 今天写项目的时候遇见一个特别诡异的 bug,体现在在执行某条语句时,程序会莫名崩溃,并且给出的错误信息也非常难懂,只有一个malloc(): invalid size (unsorted) ...
1. shared_ptr 介绍 使用过Boost的话对shared_ptr一定有很深的印象。多个shared_ptr指向同一个对象,每个shared_ptr会使对象的引用计数加+1,当引用计数为0时, 对象将被析构。本文实现一个简洁版本的shared_ptr,并没有太多跨平台特性,实现 ...
前一篇文章写得实在太挫,重新来一篇。 多线程环境下生命周期的管理 多线程环境下,跨线程对象的生命周期管理会有什么挑战?我们拿生产者消费者模型来讨论这个问题。 实现一个简单的用于生产者消费者模型的 ...
我是Word写的,复制过来实在懒得在排版了,有兴趣的朋友可以去我的百度文库看,谢谢 http://wenku.baidu.com/view/34e485e2f61fb7360b4c653e.html ...