Я потратил некоторое время на поиски в Google, но ничего не нашел. Я хочу быть в состоянии сделать это:
std::tr1::function<void()> foo(SOME_DEFAULT_FUNCTION_THAT_DOES_NOTHING);
//
//Some code that could possibly assign foo
//
foo();
В противном случае я должен сделать это:
std::tr1::function<void()> foo;
//
//Some code that could possibly assign foo
//
if(foo)
{
foo();
}
Я понимаю, что мог бы просто создать функцию, которая ничего не делает, но я ищу какой-то стандартный способ не иметь дело с проверкой, чтобы узнать, было ли функции присвоено значение, равное шаблону нулевого объекта.