태그: lambda
15편
-
C++ 람다 표현식 심화 | 클로저 타입·캡처·제네릭 연역·IIFE·실무 패턴
람다 표현식(lambda expression)은 호출 지점에서 작은 호출 가능 객체를 만들기 위한 문법입니다. 다만 “익명 함수”라고만 이해하면 캡처 수명, 타입 소거(std::function) 비용.
-
C++ 람다 참조 캡처 심화 — 수명 의미론, 캡처 규칙, ASAN, 실무 안전 패턴
참조 캡처([&]) 수명·댕글링, 캡처 목록 해석·이름 조회, IIFE와 참조, ASAN 검출 패턴, 프로덕션 안전 설계를 컴파일러 모델 관점에서 정리합니다. 값 캡처([x])는 클로저 객체 안에 복사본을 두므로, 외부 스코프가 끝난 뒤에도 그 복사본은 클로저 수명에 묶입니다.
-
AWS Lambda 콜드 스타트를 겪고 나서: 언제 쓰고 언제 피하는지
새벽 배포 뒤 p99 지연이 2초로 튄 콜드 스타트 사례에서 출발해, Lambda가 잘 맞는 이벤트성 배치·업로드 후처리와 피해야 할 상시 서비스를 나누고, 메모리 조정·Provisioned Concurrency·VPC 사용 여부를 판단하는 기준을 설명합니다.
-
AWS 입문 가이드 | EC2, S3, RDS 실전 사용법
AWS를 처음 쓰는 개발자가 IAM 사용자와 VPC 서브넷·보안 그룹을 먼저 잡고, EC2에 웹 서버를 올리고, S3로 정적 파일을 호스팅하고, RDS를 연결해 백업과 Multi-AZ까지 설정하는 흐름을 따라갑니다.
-
Java 람다와 함수형 인터페이스 | Lambda Expression
익명 클래스를 람다 표현식으로 바꾸는 문법, @FunctionalInterface와 Predicate·Function·Supplier 같은 표준 함수형 인터페이스, 메서드 참조 4가지 유형을 사용자 필터링·계산기 예제로 익힙니다.
-
C++ 람다 캡처로 생기는 dangling reference: 값 캡처·shared_ptr·[*this]로 수명 지키기
참조로 캡처한 지역 변수가 스코프를 벗어난 뒤 람다가 실행되면 dangling reference 크래시가 납니다. 값 캡처와 shared_ptr, [*this]로 수명을 지키는 방법과 비동기 콜백이나 람다 반환에서 자주 하는 캡처 실수를 예제로 다룹니다.
-
C++20 템플릿 람다: auto 람다와 차이, Concepts로 타입 제한하기
C++20 템플릿 람다의 명시적 템플릿 매개변수 문법과 Concepts를 이용한 타입 제약, 여러 매개변수·파라미터 팩·제네릭 팩토리 패턴 등 실전 활용법과 자주 발생하는 컴파일 에러 해결법을 코드로 정리합니다.
-
C++ 함수 객체 vs 람다 vs std::function: operator() 구현과 인라인·성능 차이
operator()를 가진 함수 객체를 기본 문법부터 상태를 가진 functor, map·set용 비교자, unordered_map용 해시 객체까지 예제로 설명합니다. 람다·std::function 대비 functor가 나은 경우와 커스텀 deleter 활용도 다룹니다.
-
C++14 초기화 캡처: move 캡처와 unique_ptr을 람다에 넘기는 패턴
C++14부터 람다의 캡처 목록에 이름 = 표현식 형태를 쓸 수 있습니다. 이를 초기화 캡처(init-capture)라고 부릅니다. 클로저 객체 안에 지정한 이름의 멤버를 만들고, 오른쪽 표현식의 결과로 초기화합니다.
-
C++ 제네릭 람다: auto 매개변수와 C++20 템플릿 람다
제네릭 람다의 auto 매개변수·템플릿 연역, 클로저와 operator() 모델, 완벽 전달, SFINAE·requires, 프로덕션 패턴과 STL 활용까지 정리합니다. 제네릭 람다(generic lambda)는 C++14에서 도입된 기능으로, 람다의 매개변수에 auto를 사용해 여러 타입에 대해 같은 본문을 재사용할 수 있게 합니다. 내부적으로는 클로저 타입의 operator()가 함수 템플릿이 됩니다.
-
C++17 constexpr 람다: 암시적 constexpr 조건과 컴파일 타임 룩업 테이블
C++17부터 람다가 조건을 만족하면 암시적으로 constexpr이 되는 규칙을 설명하고, 팩토리얼·거듭제곱·배열 초기화 같은 컴파일 타임 계산, 타입 검사와 조건부 컴파일, 룩업 테이블을 만드는 활용 패턴을 다룹니다.
-
AWS SDK for C++: S3 멀티파트 업로드, DynamoDB CRUD, Lambda 호출, IAM 자격 증명
AWS 서비스 C++ 통합: S3 파일 저장·멀티파트 업로드, DynamoDB NoSQL CRUD·Query, Lambda 함수 호출, IAM 인증. 실무 문제 시나리오, 완전한 예제, 흔한 에러 해결, 성능 최적화, 프로덕션 패턴까지.
-
C++ STL 알고리즘 기초: sort·find·transform·accumulate 실전 활용
for문으로 직접 짠 정렬·검색·집계에서 버그가 나는 상황을 std::sort, find_if, count_if, transform, accumulate로 바꾸는 방법을 보여줍니다. remove 후 erase 누락, accumulate 초기값 실수, 비교자 규칙 위반도 짚습니다.
-
C++ 람다 심화 | 초기화 캡처·완벽 전달·IIFE·재귀 람다와 실전 패턴
unique_ptr을 스레드로 넘기는 문제에서 출발해초기화 캡처로 소유권을 옮기는 법, 제네릭 람다의 완벽 전달, IIFE로 const 변수를 초기화하는 패턴을 다룹니다. 재귀 람다는 std::function, Y combinator, C++23 deducing this를 비교합니다.
-
C++ 람다 표현식: 캡처·mutable·제네릭 람다부터 deducing this 재귀까지
[=]·[&]·초기화 캡처·this 캡처가 각각 무엇을 복사하고 무엇을 참조하는지, mutable과 제네릭·템플릿 람다, IIFE, 재귀 람다(std::function·Y-combinator·C++23 deducing this), constexpr/consteval 람다까지 한 글에서 다룹니다. 댕글링 참조, for 루프 변수 캡처, this 캡처 후 객체 소멸 같은 오류와 std::function에 담을 때의 비용도 설명합니다.