Boost signals 1 基本介紹

2021-10-22 18:02:10 字數 1073 閱讀 7737

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