프로그래밍 언어/C++

std::bind(), std::function(), std::placeholder

규봉봉이 2023. 12. 28. 18:18

std::bind(), std::function()은 callable에 대한 이야기이다.  "callable"은 호출 가능한 객체 또는 표현식이다. 즉, 함수처럼 호출할 수 있는 객체를 말한다. 

 

std::function 함수를 통해 기존에 정의된 함수, 클래스의 멤버로 정의된 멤버함수, 람다 함수를 변수화하여 정의할 수 있다.

예제 코드 << 여기!!

std::function을 주로 사용하는 이유는 callback 함수 처리에 대한 유용성이 뛰어나기 때문입니다. 동일 함수의 시그니처를 container를 통해 관리할 수 있습니다.

 

std::bind 함수는 이미 정의된 함수를 재정의하여 사용할 수 있습니다. std::bind는 std::placehoders를 인풋 파라미터로 정의하여 추후 자유롭게 파라미터를 설정할 수도 있습니다.

예제 코드 << 여기!!