1. 개념 1. 스마트 포인터C++에서 제공하는 스마트 포인터는 자동 메모리 관리를 제공하는 포인터 클래스입니다. 스마트 포인터는 일반 포인터와 같이 참조/역참조 연산이 가능하며, 가리키는 객체의 수명이 끝나면 자동적으로 메모리 해제를 수행하여 메모리 릭을 방지합니다. 따라서, 사용자는 스마트 포인터 사용을 통해 동적 할당 받은 메모리 영역에 대한 명시적인 해제 작업에 대한 부담 없이 안전하고, 효율적인 코드 작성이 가능합니다. 2. auto_ptr 1. 사용 금지!!!!C++ 11 표준 이전에 제공되던 "auto_ptr"은 심각한 단점을 안고 있습니다. "auto_ptr"은 vector와 같은 STL 컨테이너에서는 정상적을 작동되지 않습니다! 따라서, "auto_ptr"는 사용하지 맙시다! 3. u..
이동 시맨틱
[Basic C++] #51_STL 이동 알고리즘, move STL 알고리즘 중 "이동 알고리즘"에 대해 알아보겠습니다. "전문가를 위한 C"의 17 항목, "STL 알고리즘 마스터하기"에 해당하는 내용입니다. move() #include #include #include #include using namespace std; class MyClass { public: // 1. vecDest에 vecSrc만큼의 공간을 할당하기위해 기본 생성자가 필요합니다. MyClass() = default; // 2. MyClass의 복제 생성자를 컴파일러가 제공하는 디폴트 복제 생성자를 사용합니다. MyClass(const MyClass& src) = default; MyClass(string str) :myStr(s..