인프런 커뮤니티 질문&답변

지호손님의 프로필 이미지
지호손

작성한 질문수

홍정모의 따라하며 배우는 C++

19.1 람다 함수와 std::function std::bind, for_each

c++이 정말 모던해졌다는걸 느낀 강의였습니다.ㄷㄷ;;

해결된 질문

작성

·

186

0

람다는 js나 python에서 즐겨사용했는데 C++ 이런 기능을 제공하니 정말 유연해졌네요. 

혹시나하고 클로저도되는지 테스트해봤는데 안되는 것같네요.

대신 바인드를 이런 식으로 이용해서 흉내는 내볼수 있을 것 같네요.

std::function<void()> doSomething(int x)

{

    int a = x;

    auto f = [](int a)->void {cout << a << endl; };

    return std::bind(f, a);

}


좋은 강의 감사합니다.( 유트브도 잘보고 있습니다 :) ) 

답변 2

4

파이썬이나 자바스크립트에서 함수 클로저를 사용하는 이유가 캡쳐링을 구현하기 위해서라고 알고있습니다. c++에서는 introducer를 통해 현재 문맥을 캡쳐링 할 수 있습니다. 그래서 함수 클로저를 통해 캡쳐링을 할 필요가 없는 게 아닐까요?ㅎㅎ

3

홍정모님의 프로필 이미지
홍정모
지식공유자

:)

지호손님의 프로필 이미지
지호손

작성한 질문수

질문하기