반응형 lamda2 C++ 람다함수 심화편 람다 함수는 보통 '일회성'으로 쓰이며 따로 캡처 '[]' 라는게 존재하지 않는다.하지만 C++에서는 캡처 '[]'가 존재하는데 이게 왜 존재할까? C++에서 람다는 객체다.예를 들어auto f = [=]() { return x + y; }; 이와 같이 코드를 작성했을 때컴파일러가 이렇게 변환한다.class __lambda_1 { int x, y; // [=]로 값 캡처 → 멤버 변수로 복사됨public: int operator()() const { return x + y; }}; 즉, 람다는 함수가 아니라 객체다!그래서 operator()를 가진 함수 객체 (functor) 로 동작한다.이 말은 곧 —람다를 변수로 저장하거나, 나중에 다시 호출하거나,다른 함수로 넘기거나, 비동기 쓰레드에서 .. 2025. 11. 3. C++ 람다함수 기본편 C++에서 람다(lambda) 는 익명 함수(anonymous function) 라고 한다.즉, 이름이 없는, 짧은 함수를 코드 안에서 바로 정의해서 바로 쓰는 것이다. 보통 우리가 함수를 만들 땐 이렇게 한다bool compare(int a, int b) { return a 이건 “이름이 있는 함수(compare)”이다.그런데 람다는 이름을 붙이지 않고 코드 안에서 즉석으로 만드는 함수이다.[](int a, int b) { return a 이게 람다 함수(lambda function)함수 이름이 없고, 대괄호 []로 시작한다는 게 특징이다. 람다 기본 문법[capture](parameters) -> return_type { // 함수 내용} 대부분의 경우 리턴 타입은 자동 추론돼서 .. 2025. 10. 31. 이전 1 다음 반응형