Scoped は boost::bind と組み合わせて使うと、いっそうぷるぷるするだろう。例として、MSDN の『BSTR 用のメモリの割り当てと解放』の二個めの例を改変する。

#include <boost/bind.hpp>
#include "Scoped.hpp"

// BSTR を取得するための関数の宣言
HRESULT IWebBrowser2::get_StatusText(BSTR FAR* pbstr);

{
BSTR bstrStatus;
pBrowser->get_StatusText(&bstrStatus);
Scoped finally(
make_scoped(
boost::bind(::SysFreeString, bstrStatus)));

// この後の処理で予期しない例外が発生したとしても、必ず開放される。
}

まあ、BSTR はラッパーを作るほうが実際的だけど。