#include <iostream>
#include <memory>

void usePointer(int* ptr) {
    std::cout << "Value: " << *ptr << std::endl;
}

int main() {
    std::unique_ptr<int> p1 = std::make_unique<int>(42);

    // 소유권 이전 (p1은 더 이상 자원을 소유하지 않음)
    std::unique_ptr<int> p2 = std::move(p1);

    // 실수로 이전 unique_ptr로 접근 (런타임 에러)
    usePointer(p1.get());  // 위험: 이미 소유권 없음

    // 여전히 p2는 정상 작동함
    usePointer(p2.get());

    return 0;
}


실행결과
Segmentation fault (core dumped)

cpp 스마트포인터 잘못쓰면 런타임에 펑 터진다는데 사실이냐?

- dc official App