std :: tr1 :: function是否有一个合理的默认值?

mes*_*ger 4 c++ tr1

我花了一些时间谷歌搜索,但没有找到任何东西.我希望能够这样做:

std::tr1::function<void()> foo(SOME_DEFAULT_FUNCTION_THAT_DOES_NOTHING);
//
//Some code that could possibly assign foo
//
foo();
Run Code Online (Sandbox Code Playgroud)

否则我必须这样做:

std::tr1::function<void()> foo;
//
//Some code that could possibly assign foo
//
if(foo)
{
    foo();
}
Run Code Online (Sandbox Code Playgroud)

我意识到我可以创建一个什么都不做的函数,但我正在寻找一些标准方法,不必处理检查以查看函数是否被赋予了null对象模式的值.

Den*_*ose 5

void noop() { }