2012-09-12 3 views

답변

8

나는 그렇게 생각하지 않는 생성자는 이름이 없기 때문에, 당신이 그들에 대한 포인터/참조를 취할 수 없으며, 일반적으로 그들은 확실히 작동하지 않습니다 예를 들어

같은 기능.

당신은 동일한 서명으로 std::function를 초기화하는 람다를 사용할 수

: 다른 사이 드와 가능성

const std::function<T()> func = [](void) { return T(); } // or something like that 

이 유형 T의 임시을 구축하는 식 T()를 사용하는 것과 같은 결과를 호출하지만, 효과. 실제 함수 호출의 경우 return 문에 여분의 임시 값이 있는데, 이는 명목상 반환 값으로 복사/이동됩니다. 구현시 임시 임시 영역이 삭제 될 수도 있고 삭제되지 않을 수도 있습니다.

관련 문제