본문 바로가기
프로그래밍/C & C++

morden C++ 바인드, std::bind

by makepluscode 2023. 6. 10.
반응형

morden C++ std::bind 바인드

std::bind 는 C++ 11 에서 추가 되었다. bind는 함수를 변수처럼 사용하거나, 함수의 특정 파라미터를 고정시킨 새로운 함수를 만드는데 사용된다.

간단한 std::bind 코드 예제

std::bind 예제 코드

#include <iostream>
#include <functional>

void plus(int a, int b)
{
  std::cout << a << " + " << b << " = " << a + b << std::endl;
}

int main()
{
  auto bind_plus = std::bind(
    plus,
    std::placeholders::_1,
    std::placeholders::_2
  );

  bind_plus(1, 2);

  // 3rd parameter will be ignored
  bind_plus(3, 4, 5);
  return 0;
}
  1. std::bind 를 사용하기 위해 functional 을 include
  2. bind_plus 변수을 통해 plus 함수를 호출하도록 한다.
  3. bind_plus 변수에 인자를 전달하여 plus 함수를 호출 한다

std::bind 예제 실행 결과

# ./std-bind 
1 + 2 = 3
3 + 4 = 7

참고자료

https://github.com/makepluscode/modern-cpp-examples/tree/main/001-std-bind

 

GitHub - makepluscode/modern-cpp-examples

Contribute to makepluscode/modern-cpp-examples development by creating an account on GitHub.

github.com

반응형