작성
·
304
0
1)
using FuncType = Ret(*)(Args...);일 때,
매개변수로 FuncType func를 주는 것과 Ret(*func)(Args...)를 주는 것은 완전히 동일하다고 봐도 되나요?
찾아본다고 찾아봤는데 익명 함수 포인터라는 단어는 없고, 기본적으로 함수이름을 붙여서 사용하는 것만 설명이 되있어서 백퍼센트 확신을 하기가 힘드네요
2)
using FuncType = Ret(*)(Args...) 와
using FuncType = std::function<Ret(Args...)>가 의미상으로는 완전히 동일하다고 봐도 되나요?
답변 1
0
1)
그렇습니다.
using FuncType = Ret(*)(Args...)와 typename Ret(*FuncType)(Args);는 같은 의미입니다.
(전자가 C++11 신규 문법)
2)
거의 동일한데 std::function<Ret(Args...)>는 범위가 더 넓습니다.
일반 함수 뿐 아니라 람다식도 받을 수 있는 등.
감사합니다+