2010-05-28 6 views
4

나는 인터넷 검색을하면서 시간을 보냈지 만 실제로 아무것도 찾지 못했습니다.std :: tr1 :: function에 정상적인 기본 설정이 있습니까?

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(); 
} 

을,하지만 난 어떤 표준 방법을 찾고 있어요 함수가 null 객체 패턴과 같은 값을 부여 받았는지 확인하기 위해 처리 할 필요가 없다.

답변

5

void noop() { }

+0

많은 것으로 나타났습니다. 나에게 좋은 소리! – messenger

0

boost::optional<std::tr1::function<void()> >을 사용할 수 있습니까? 그런 식으로 설정하거나 설정하지 못하게 할 수 있으며 if 체크를 사용하여 함수가 설정되었는지 확인할 수 있습니다. 내 프로젝트에서

+0

를 사용합니다. if 체크를 피하고 두 경우 모두 함수를 실행할 수 있기를 원했습니다. – messenger

0

은 내가 체크 경우을 이미 수

void noop(...) {} 
관련 문제