std::Funtion 정리

DevCho1107

·

2023. 4. 6. 13:36

최근에 공부하면서 새로 알게 된 함수포인터 비슷한 기능을 정리해본다. 

 

이것도 boost에서 넘어왔다는데, C++11 표준으로 추가됐다. 

사용방법 은 아래와 같다. 

 

std::function<void(UINT32, UINT32, BYTE*)> SendPacketFunc; // 선언 

// 람다형식으로 사용 
auto sendPacketFunc = [&](UINT32 clientIndex_, UINT16 packetSize, BYTE* pSendPacket)
	{
		SendMsg(clientIndex_, packetSize, pSendPacket);
	};

위의 코드에서 SendPacketFunc는 std::function 클래스 템플릿을 이용하여 선언된 변수로, 함수나 함수 객체를 저장할 수 있는 변수이다. 위와 같은 방식으로 SendPacketFunc 변수를 통해 여러 곳에서 같은 함수나, 함수 객체를 호출 할 수 있다.

불필요한 h파일 인클루드가 필요없어지며, 편리하게 코드 작성이 가능하다.

'< Programming > > C++' 카테고리의 다른 글

constexpr ( generalized constant expressions )  (0) 2023.05.04
C++ 17 에서 업데이트 된 기능 정리.  (0) 2023.04.25
RingBuffer 구현예제.  (0) 2023.04.20
C++ Window IOCP Server  (0) 2023.04.06
override & virtual 사용하기  (0) 2020.02.03