엄범

(C++) lambda (bind 보다는 lambda를 쓰자)

lambda가 왜 필요하냐면, 함수 포인터는 함수이기 때문에 상태를 가질 수 없다. 반복문 같은데 인자로 함수를 넘겨야 하는 상황에서 그 함수가 상태를 가져야 하는 경우, 함수 포인터를 사용할 수 없다. 따라서 상태를 가지는 함수를 만들기 위해서 함수 객체라는 트릭을 사용해야 했다. 함수 객체는 객체인데, operator()를 오버로드해서 함수처럼 호...

(C++) 컨테이너 안에 클래스가 들어있을 때, 클래스 안의 멤버들을 순회하는 이터레이터를 반환받는 방법 + mem\_fn

vector<cls>가 있을 때, cls.value들만 뽑아내고 싶은 경우가 빈번하게 있다. 일반적인 경우 그냥 반복문 돌면서 처리해주면 되지만, 라이브러리 등을 사용할 때는 반드시 cls.value로 이루어진 iterator를 넘겨야만 하는 경우가 있다. 이런 경우 처음으로 드는 생각은 함수형의 filter()인데, 이는 copy가 발생...