블로그
-
C++ 인라인 어셈블리 | 'asm' 키워드 가이드 | 핵심 개념과 실전 활용
인라인 어셈블리(asm)는 C++ 코드 안에 어셈블리를 끼워 넣어 특정 아키텍처 명령을 쓰는 고급 기능입니다. GCC 확장 asm 피연산자·클로버, 메모리 순서, SIMD 인트린식과의 선택, 프로덕션 패턴까지 심화합니다.
-
C++ 반복자 | 'Iterator' 완벽 가이드
C++ 반복자(iterator) 는 컨테이너 요소를 순회하는 객체입니다. 범위 기반 for와 vector에서 begin/end로 쓰이며, size_t·ptrdiff_t로 거리·인덱스를 다룰 때와 Composite 패턴으로 트리 순회를 통일할 때도 자주 씁니다.
-
C++ 람다 캡처 | 'Lambda Capture' 완벽 가이드
C++ 람다 캡처: 클로저 타입·멤버 생성, 참조 캡처 수명, init-capture·이동, mutable·const operator(), 프로덕션 패턴까지 정리합니다. 람다 캡처(Lambda Capture) 는 람다 함수가 외부 변수에 접근하는 방법을 정의합니다. 람다는 자신이 정의된 스코프의 변수를 캡처하여 사용할 수 있으며, 캡처 방식에 따라 값 복사 또는 참조로 접근합니다. C/C++ 예제 코드입니다.
-
C++ Locale | '지역화' 가이드
C++ Locale #include <locale> #include <iostream> using namespace std;. 실전 예제와 코드로 개념부터 활용까지 정리합니다. C++·locale·지역화 중심으로 설명합니다.
-
C++ LRU 캐시 알고리즘 완벽 가이드 | Least Recently Used·O(1) 구현
LRU(Least Recently Used) 캐시 교체 정책을 C++로 구현하는 법. unordered_map과 list로 get·put O(1), splice로 최근 사용 갱신, 용량 초과 시 eviction, 흔한 반복자 실수와 스레드 안전성까지.
-
C++ Move 시맨틱스 | '복사 vs 이동' 완벽 이해
C++ Move 시맨틱스로 복사 대신 이동으로 성능을 높이는 방법을 다룹니다. Lvalue·Rvalue, std::move, 이동 생성자 구현까지 실전 예제로 설명합니다.
-
C++ namespace | '이름 충돌 방지' 완벽 가이드
C++ namespace 심화: ADL, 인라인 namespace 버전, 익명 vs static, 별칭 패턴, 프로덕션 구조. using·중첩·std·헤더 주의까지. 여러 라이브러리와 팀 코드가 한 프로젝트에 모일 때 namespace로 경계를 나누면 이름 충돌을 줄이고 의도가 드러납니다. 이 글에서는 기본 선언부터 using 지시문까지 읽으며, 실제 코드 배치와 리팩터링 시나리오에 옮겨 쓸 수 있습니다.
-
C++ 멀티스레드 Asio의 딜레마 | Data Race와 Mutex의 한계 [#2]
C++ 멀티스레드 Asio의 딜레마: Data Race와 Mutex의 한계 [#2]. io_context 하나를 여러 스레드가 돌리면?·실무에서 겪은 문제로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
-
C++ Strand | 락(Lock) 없는 동시성 제어 [#3]
여러 스레드가 동시에 접근해도 락 없이 안전하게 처리할 수 있는 Boost.Asio Strand의 동작 원리와 실무에서 겪은 문제, 해결법을 정리했습니다.
-
C++ Asio Composed Operation | 비동기 함수 설계 [#7]
C++ Asio Composed Operation: 비동기 함수 설계 [#7]. 실무에서 겪은 문제·Composed Operation이란로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.