1
我想知道是否有任何方法來檢查boost回調函數的有效性。C++ QThread和boost回調函數
問題如下
class A; B類; B類;
在A類的初始化函數完成後。
boost :: function < void(class B)> call_back;
using namespace boost :: lambda; call_back = bind(& A :: callback_after_preparation,this,boost :: lambda :: _ 1);
的問題是,回調是從QThread的和之前A :: callback_after_preparation稱爲從QThread的叫,A的對象從應用程序中刪除(這是應用一個用例)
所以應用程序在訪問A中的數據塊時退出。
是否有任何方法來檢查call_back函數的有效性?
請回答
我還沒有使用boost :: function,所以我不知道它是否適用於這種情況,但避免線程化應用程序中懸掛指針的最直接的方法是std :: tr1 :: weak_ptr。這可以在boost :: funtion聲明中使用嗎? – stefaanv 2010-08-10 07:33:32