原创 c++程序設計類和對象

設計類 此類型的合法值是什麼? 此類型應該有什麼樣的函數和操作符 新類型的對象該如何被創建和銷燬 如何進行對象的初始化和賦值 對象作爲函數參數如何以值傳遞 誰將使用此類型的對象成員 語法形式 class 類名稱 { publi

原创 libevent源碼I---hello-word

  struct event_base* base = event_init(); 函數event_init(); 該函數創建了一個event_base對象,一個event_base對象相當於一個Reactor實例。 struct e

原创 c++程序設計函數

函數的參數傳遞 在函數被調用時才分配形參的存儲單元 實參可以是常量,變量,或者表達式 實參類型必須與形參相符 值傳遞是傳遞參數值,即單向傳遞 引用傳遞可以實現雙向傳遞 常引用參數可以保障實參數據的安全 含有可變參數的函數 如果所有的實參類

原创 網絡---Reactor與Proactor模式

一、同步、異步、阻塞、非阻塞 同步I/O模型:工作線程執行I/O操作(邏輯單元),即主線程(I/O單元)向工作線程通知的是I/O就緒事件。I/O的讀寫操作發生在I/O事件之後。 I/O處理單元:只負責監聽文件描述符上的事件。 邏輯單元:讀

原创 數組與鏈表

題目:二維數組中的查找 在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 思路:找出二維數組的

原创 C++繼承和多態

單繼承時派生類的定義 語法 class Derived: public Base { public: Derived (); ~Derived (); }; 不同繼承方式的影響主要體現在: 派生類成員對基類成員的訪問權限

原创 Linux基礎

Ctrl+c鍵來強行終止當前程序(你可以放心它並不會使終端退出)。 其他一些常用快捷鍵 按鍵 作用 Ctrl+d 鍵盤輸入結束或退出終端 Ctrl+s 暫停當前程序,暫停後按下任意鍵恢復運行 Ctrl+z 將當前程序放到後臺運行,恢復到前

原创 二叉樹題目

題目:重建二叉樹 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重

原创 More Effective C++

條款六:前置++與後置++的區別 前置式返回一個引用,後置式返回一個const對象。 前置式類加後取出 UPInt& UPInt::operator++() { *this += 1; return *this; } 後

原创 C++程序設計數組、指針、字符串

以指針作爲函數參數 爲什麼需要用指針做參數? 需要數據雙向傳遞時(引用也可以達到此效果) 用指針作爲函數的參數,可以使被調函數通過形參指針存取主調函數中實參指針指向的數據,實現數據的雙向傳遞 需要傳遞一組數據,只傳首地址運行效率比較高 實

原创 c++類和對象

設計類 此類型的合法值是什麼? 此類型應該有什麼樣的函數和操作符 新類型的對象該如何被創建和銷燬 如何進行對象的初始化和賦值 對象作爲函數參數如何以值傳遞 誰將使用此類型的對象成員 語法形式 class 類名稱 { publi

原创 c++

函數的參數傳遞 在函數被調用時才分配形參的存儲單元 實參可以是常量,變量,或者表達式 實參類型必須與形參相符 值傳遞是傳遞參數值,即單向傳遞 引用傳遞可以實現雙向傳遞 常引用參數可以保障實參數據的安全 含有可變參數的函數 如果所有的實參類

原创 libevent源碼V--bufferevent源碼

參考:http://blog.csdn.net/luotuo44/article/details/39344743 bufferevent結構體:         bufferevent其實也就是在event_base的基礎上再進行一層封

原创 libevent源碼IV--bufferevent概念

bufferevent基礎和概念 Libevent爲這種帶緩存的IO模式提供了一個通用的機制。一個”bufferevent”包含一個底層傳輸(比如socket),一個讀buffer和一個寫buffer。當底層傳輸可讀寫時就調用回調函數,這

原创 libevent源碼III--event_base_dispatch()事件循環

Reactor模式中的Event、Event Handler、Reactor目前都完成了,下面就剩Event Demultiplexer了 這一步通過event_base_dispatch()完成 int event_base_disp