이동 시맨틱

1. 개념 1. 스마트 포인터자원 관리는 C++에서 가장 골치 아픈 문제입니다. 객체를 동적 할당받은 경우 "delete" 호출 없이 자원 해제가 되지 않기 때문에 "delete" 호출을 잊어버리는 경우 심각한 문제(eg 메모리 릭)가 발생할 수 있습니다. 더불어, 단순한 포인터의 동적 할당 수행은 Aliasing 문제도 동반합니다. 어떤 경우에는 하나의 포인터를 여러 코드 위치에서 복제하여 참조할 수 있습니다. 이때, 마지막으로 사용된 곳에서 "delete" 호출을 통해 자원 해제를 진행해야 하지만, 파악하기 굉장히 어렵죠.이때, 스마트 포인터가 큰 도움을 줄 수 있습니다. 스마트 포인터는 "스택(정적 할당 받은 메모리들의 영역)"의 안정성과 유연성을 포함합니다. 스마트 포인터를 통해 동적 할당받은 메..
[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..
[Basic C++] #25_우측 값 참조, 이동 시맨틱 C++ 개발에서 까다로운 문법 혹은 특별한 의미를 갖는 부분에 대해 알아보겠습니다. "전문가를 위한 C"의 10 항목, "C++의 까다롭고 유별난 부분들"에 해당하는 내용입니다. Overview 개념 코드 #0. 개념 1. 우측 값 참조?
Hardii2
'이동 시맨틱' 태그의 글 목록