태그: lifetime
5편
-
Rust 소유권·빌림·라이프타임: 댕글링 포인터와 데이터 레이스를 컴파일 타임에 막는 원리, C++와 비교
Rust의 이동과 복사, 불변·가변 참조 규칙, NLL, 라이프타임 어노테이션이 댕글링 참조와 데이터 레이스를 컴파일 단계에서 막는 방식을 C++ unique_ptr·참조와 나란히 비교하고, 대표 컴파일 에러 해결법을 다룹니다.
-
Rust 소유권 에러 디버깅 사례: cannot move out·cannot borrow as mutable·lifetime 에러 해결
cannot move out of borrowed content, cannot borrow as mutable more than once, lifetime may not live long enough 같은 Rust 소유권 에러를 문제 코드와 에러 메시지로 재현하고, 원인과 해결 코드를 사례별로 보여 줍니다.
-
C++ 임시 객체: 생성·소멸 시점, const 참조 수명 연장 규칙, 댕글링 참조
함수 인자 변환, 반환값, 연산자 체이닝 중에 생기는 이름 없는 임시 객체가 언제 만들어지고 언제 소멸되는지 설명합니다. const 참조와 우측값 참조로 수명이 연장되는 규칙, 멤버를 통한 바인딩에서 생기는 댕글링 참조, RVO와 이동으로 비용을 줄이는 법을 다룹니다.
-
C++ 객체 수명과 저장 기간: 생성·소멸 순서, 임시 객체 수명, 댕글링 참조
C++ 객체 수명(lifetime)과 저장 기간(자동/정적/동적/스레드)의 차이, 생성·소멸 순서 규칙을 실전 예제로 정리합니다. 댕글링 참조·정적 초기화 순서 대란·임시 객체 수명 함정과 RAII·스마트 포인터 해법까지 다룹니다.
-
C++ 댕글링 레퍼런스: 지역 변수 반환·임시 객체·컨테이너 요소에서 생기는 원인과 탐지
C++ 댕글링 레퍼런스가 발생하는 네 가지 근본 원인(지역 변수 반환, 임시 객체, 컨테이너 요소, 해제된 메모리)을 실전 예제로 정리합니다. 반복자 무효화, 스마트 포인터, 람다 캡처, 메서드 체이닝 함정과 탐지·해결 방법까지 다룹니다.