原创 c++ explicit在構造函數中的應用

explicit的主要用法就是放在單參數的構造函數中,防止隱式轉換, 導致函數的入口參數, 出現歧義. 如果可以使用A構造B, 未加explicit的構造函數, 當使用B進行參數處理時, 就可以使用A, 使得接口混亂. 爲了避

原创 (轉)遵循placement new的用法規範

標準的開始由一個特別的操作符new來定義,這個就是我們熟知的placement new。和其他普通的new不同的是,它在括號裏多了另外一個參數。比如: Widget * p = new Widget; //ordinary new

原创 GDB程序調試從初級到高級(一)

轉自:http://blog.csdn.net/haoel/article/details/2879 用GDB調試程序 GDB概述 ———— GDB是GNU開源組織發佈的一個強大的UNIX下的程序調試工具。或許,各位比較喜歡

原创 C++中std::tr1::function和bind 組件的使用

摘自:http://www.cnblogs.com/zhangzhang/archive/2012/03/21/2409164.html C++中std::tr1::function和bind 組件的使用 爲什麼要使用? 它

原创 muduo源碼分析2:整體框架

muduo簡化類圖: Channel 是selectable IO channel,負責註冊與響應IO 事件,注意它不擁有file descriptor。它是Acceptor、Connector、EventLoop、TimerQu

原创 muduo源碼分析--線程池的實現

muduo線程池主要有3個類的實現:EventLoop,EventLoopThreadPool,EventLoopThread,和Thread. 1.Thread爲對一個線程的封裝: class Thread : boost::nonc

原创 智能指針boost::weak_ptr 詳解

1、boost::weak_ptr簡介 boost::weak_ptr屬於boost庫,定義在namespace boost中,包含頭文件 #include<boost/weak_ptr.hpp>便可以使用。 2、boost::wea

原创 boost::circular_buffer的push_back簡單分析

circular_buffer爲了效率考慮,使用了連續內存塊保存元素 使用固定內存,沒有隱式或者非期望的內存分配 快速在circular_buffer頭或者尾部插入,刪除元素,並且是常量時間複雜度 常量時間訪問元素 適合實時和對性

原创 文章標題

詳見:http://blog.csdn.net/liang13664759/article/details/1771246/

原创 c++-頭文件編譯

轉自:http://blog.csdn.net/walker19900515/article/details/46442777 一、C++編譯模式 通常,在一個C++程序中,只包含兩類文件——.cpp文件和.h文件。其中,.cpp文件被

原创 c++--學習筆記

1、c++編譯鏈接模型 2、c++二進制兼容性問題 3、c++值語義和對象語義區別 4、c++ 數據對象ADT 5、閉包 6、RVO和NRVO優化 7、boost::noncopyable 8、boost::asio 9、

原创 muduo-源碼分析 1:基礎概念準備

一 網絡模型-Reactor模式 1.什麼是reator模式 Wikipedia上說:“The reactor design pattern is an event handling pattern for handling s

原创 深度理解IO模型-同步異步,阻塞非阻塞

一、基礎知識: 我們都知道linux將所有的設備都看作文件,那麼我們對linux的設備操作都可以看做是文件操作.我們打開一個文件的時候內核會返回給我們一個文件描述符,那麼我們對文件的操作都是文件描述符來操作的. 系統調用是如

原创 muduo-源碼分析(前言0)

前言0 個人高性能、高併發linux服務器端編程(網絡編程)比較感興趣,自己寫過一些簡單的tcp通信程序,用進程池實現簡單CGI服務器,用線程池實現簡單web服務器。熟悉c++編程語言,但是沒有用c++參與過一個項目,所以想尋找

原创 linux多線程編程關鍵字:__thread,__bulitin_expect

最近讀代碼的時候,看到有__thread這個東西,查了一下資料。表示爲每個線程聲明這樣一個變量,並且線程與線程之間的這個變量毫無關聯。 __thread是GCC內置的線程局部存儲設施,存取效率可以和全局變量相比。__thread變量每一個