인프런 커뮤니티 질문&답변

G General님의 프로필 이미지
G General

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

JobQueue #2

함수 포인터 질문드립니다!

작성

·

316

0

1)

using FuncType = Ret(*)(Args...);일 때,

매개변수로 FuncType func를 주는 것과 Ret(*func)(Args...)를 주는 것은 완전히 동일하다고 봐도 되나요?

찾아본다고 찾아봤는데 익명 함수 포인터라는 단어는 없고, 기본적으로 함수이름을 붙여서 사용하는 것만 설명이 되있어서 백퍼센트 확신을 하기가 힘드네요

2)

using FuncType = Ret(*)(Args...) 와

using FuncType = std::function<Ret(Args...)>가 의미상으로는 완전히 동일하다고 봐도 되나요? 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

1)
그렇습니다.
using FuncType = Ret(*)(Args...)와 typename Ret(*FuncType)(Args);는 같은 의미입니다.
(전자가 C++11 신규 문법)

2)
거의 동일한데 std::function<Ret(Args...)>는 범위가 더 넓습니다.
일반 함수 뿐 아니라 람다식도 받을 수 있는 등.

G General님의 프로필 이미지
G General
질문자

감사합니다+

G General님의 프로필 이미지
G General

작성한 질문수

질문하기