[C++] C++でC#っぽいdelegateを実装してみる(boost.signals2を使う)

C#のdelegateをC++で実現できないかと考え、こちらの記事にその方法を書きました。
上記を実現するために、C++でC#っぽく使えるDelegateクラスを実装しました。
しかし、boost.signals2でほぼ同様のことができることを知りました。

以下にそのboost.signals2を用いて書き直したソースを記します。

■実行結果

いとも簡単にDelegateの動作が実現できてしまいます。
今回も前回同様、任意クラスのメソッドは登録できませんが実行結果はまったく一緒です。

boost.signals2の詳細な使い方はマニュアルをご参照ください。
これで任意クラスのメソッド実行ができたらC#のdelgateと引けをとらないくらいに便利なものになるでしょう。

LEAVE A REPLY

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.