boost.signals實現了signals/slots模式,訊號(signals)被發射,而插槽(slots)接收該訊號。插槽可以是任意的可呼叫物件,包括函式指標、函式物件,以及它們的 bind/lambda表示式和function物件,signal內部使用function作為容器來儲存這些可呼叫物件。
1. class signal定義
命名空間: boost::signals2::signal, 使用時引入標頭檔案:#include
namespace boost
;
2. signal的插槽管理函式
3. 應用舉例
3.1 connect 全域性函式
#include
void
slots1()
void
slots2()
signal<
void()
> sig;
sig.
connect
(&slots1)
; sig.
connect
(&slots2, at_front)
;sig()
;
輸出:
slot2 called
slot1 called
3.2. 組號與at_front, at_back順序
template
<
int n>
struct slots};
void signaltest::
test2()
輸出:
slot100 called
slot30 called
slot33 called
slot55 called
slot51 called
slot10 called
slot1 called
【參考】
[1] 《boost程式庫完全開發指南 深入c準標準庫》 第4版
基本指令1
題目名稱 linux實驗 基本指令1 題目關鍵字 linux實驗 基本指令1 題目錄入時間 2013 4 1 22 36 02 題目內容 1 root帳號登入,檢視 tmp目錄,如果 tmp目錄下沒有子目錄myshare,則建立該目錄。2 建立帳號testuser。adduser 3 把myshar...
1 設計模式基本
1.物件導向的基本特性 繼承,封裝,多型。1.1考慮到物件導向的封裝性,一般類成員資料盡量不對外,雖然簡單但還是盡量使用介面或函式來實現這樣利於以後修改與擴充套件。如 class stest test.m nv1 如果m nv1這個成員暴露在外使用,那當如果要對這個成員做統計之類的操作時就需要修改 ...
Objective C 基本語法(1)
inte ce democlass nsobject 做為介面的存在,nsobject告訴編譯器,democlass這個類是基於nsobject這個 所有類的 超類的,並繼承nsobject類定義的所有行為 democ democ 1 andage 22 呼叫的是 void democ int id...