< Programming >/C++

C++ 17 에서 업데이트 된 기능 정리.

이 글은 17년에 표준화 된 C++ 17 의 새로운 기능에 대한 정리한 글 입니다. 1. Class Template argument Deduction ( 클래스 템플릿 인자 추론 ) 기존에는 함수 템플릿 인자 추론이 가능했는데, 이제는 클래스 생성자 타입을 통한 인자 추론이 추가적으로 가능하다. 인스턴스화 시 컴파일러가 자동으로 추론하는 기능이다. 사용하면서 얻게되는 이점으로는 간결한 코드작성과 더불어 코드 변경 시에도 인스턴스화 된 타입을 일일이 수정할 필요가 없으므로 코드 유지보수성이 향상된다는 점이 있다. 더불어 타입이름을 생략할 수 있으므로 코드의 가독성을 높이는데도 도움이 된다. #include #include // 기존 C++ 11 함수 템플릿 인자 추론 template void print(T..

2023.04.25 게시됨

< Programming >/C++

std::Funtion 정리

최근에 공부하면서 새로 알게 된 함수포인터 비슷한 기능을 정리해본다. 이것도 boost에서 넘어왔다는데, C++11 표준으로 추가됐다. 사용방법 은 아래와 같다. std::function SendPacketFunc; // 선언 // 람다형식으로 사용 auto sendPacketFunc = [&](UINT32 clientIndex_, UINT16 packetSize, BYTE* pSendPacket) { SendMsg(clientIndex_, packetSize, pSendPacket); }; 위의 코드에서 SendPacketFunc는 std::function 클래스 템플릿을 이용하여 선언된 변수로, 함수나 함수 객체를 저장할 수 있는 변수이다. 위와 같은 방식으로 SendPacketFunc 변수를 통해 ..

2023.04.06 게시됨