목록2025/04/03 (2)
나만의 작은 도서관

람다(Lambda) 표현식(C++11)// 기본 형태 : [캡처](매개변수들)->리턴값{함수내용};// 리턴값은 생략가능[](Item& item) {return item._rarity == Rarity::UNIQUE;};// 람다로 인해 만들어진 실행시점 객체 = 클로저(closure)auto isUniqueLambda = [](Item& item) {return item._rarity == Rarity::UNIQUE; }람다 표현식은 함수 객체(Functor)를 빠르게 만드는 문법으로, 반환값은 람다 표현식이 정의될 때 생성된 익명 클래스의 객체이다. (이하 람다 표현식을 “람다”라고 지칭)당연하게도 람다의 리턴값인 익명 함수 객체는 Callable 한 개체 중 하나이다.리턴값인 익명 함수 객체는 런타..
함수 객체(functor)란?class Functor {public: void operator()() { /* do something */ }}Functor functor;functor(); // = functor.operator() 함수 호출functor는 callable 한 개체 중 하나로, 호출 연산자 ()를 오버로딩하여 함수처럼 사용할 수 있는 객체를 의미한다.functor는 C++ 전반적으로 자주 활용되며, 대표적으로 STL에서 자주 활용되어 있다. functor 예제#include using namespace std;class Functor{public: void operator()() { cout Functor의 활용 예제1. 커맨드 패턴커맨드 패턴은 작업을 객체로 캡슐화하여 큐에..