스마트포인터

Study/C++

[C++11] 스마트 포인터3 (weak_ptr)

C++ 에서는 스마트 포인터라는 것을 사용하여 포인터를 더욱 안전하고 효율적으로 사용할 수 있습니다. 스마트 포인터에는 다음과 같이 3가지가 존재합니다. unique_ptr shared_ptr weak_ptr 기존의 포인터의 경우에는 new와 delete가 한 쌍으로 사용되었으나 프로그래머의 실수로 delete를 하지 않게 될 경우에는 메모리 누수로 이어졌습니다. 오늘은 이 스마트 포인터 중 weak_ptr을 소개 합니다. 참조 개수를 늘리지 않는 shared_ptr (weak_ptr) (C++11) shared_ptr는 참조할 때마다 참조 개수가 늘어나지만 weak_ptr은 참조의 개수를 늘이지 않습니다. weak_ptr은 소유(Own)하는 참조가 아닌 임시적 참조(Temporary Ownership)..

Study/C++

[C++11] 스마트 포인터2 (shared_ptr)

C++ 에서는 스마트 포인터라는 것을 사용하여 포인터를 더욱 안전하고 효율적으로 사용할 수 있습니다. 스마트 포인터에는 다음과 같이 3가지가 존재합니다. unique_ptr shared_ptr weak_ptr 기존의 포인터의 경우에는 new와 delete가 한 쌍으로 사용되었으나 프로그래머의 실수로 delete를 하지 않게 될 경우에는 메모리 누수로 이어졌습니다. 오늘은 이 스마트 포인터 중 shared_ptr을 소개 합니다. 공용 소유가 가능한 포인터 (shared_ptr) (C++11) 단 하나의 소유권을 가지는 unique_ptr과는 달리 shared_ptr은 공용 소유가 가능한 포인터로 한 객체를 여러개의 shared_ptr로 공용 소유가 가능합니다. template class shared_ptr..

Study/C++

[C++11] 스마트 포인터1 (unique_ptr)

C++ 에서는 스마트 포인터라는 것을 사용하여 포인터를 더욱 안전하고 효율적으로 사용할 수 있습니다. 스마트 포인터에는 다음과 같이 3가지가 존재합니다. unique_ptr shared_ptr weak_ptr 기존의 포인터의 경우에는 new와 delete가 한 쌍으로 사용되었으나 프로그래머의 실수로 delete를 하지 않게 될 경우에는 메모리 누수로 이어졌습니다. 하지만 스마트 포인터는 기본적으로 참조가 없어질 때 메모리를 비워줍니다. (RAII - Resource Acquisition Is Initialization) 오늘은 이 스마트 포인터 중 unique_ptr을 먼저 소개합니다. 단 하나의 포인터 (unique_ptr) (C++11) unique_ptr은 단 하나의 소유권을 가지며 해당 소유권을 ..

Eskeptor
'스마트포인터' 태그의 글 목록