functor
-
std::transform()에 대한 간단한 고찰개발/C·C++ 2024. 9. 4. 22:21
C++ 문법에 대해 살펴보다가 재미있는 코드가 있어서 간단하게 고찰해보려고 한다.공식 문서에 구현 예제까지 나와있다.헤더는 templateconstexpr //templateconstexpr // 대략적인 흐름은 원본 데이터에 대한 시작 반복자, 끝 반복자로 범위를 지정해주고결과물을 저장할 자료구조(우리 예제에서는 vector)의 시작 반복자,그리고 데이터를 가공할 방법을 안내하는 콜백 함수를 넣어주는 형태다. 앞서 잠시 언급했듯이 vector를 사용해 볼 건데,transform()에 넣을 함수 포인터는 멤버 함수에 대한 함수 포인터다.멤버 함수 포인터를 만드는 방법은 일반 함수와 조금 다르다.멤버 함수를 호출할 때 보통 "인스턴스." 혹은 "포인터 변수->"의 방식으로멤버 함수를 호출하고 필요한 인수를..