----------------------------------------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 ...