장점1 [ C++ ] 스마트 포인터 ( Smart Pointer ) 스마트 포인터는 말 그대로 똑똑한 포인터라는 뜻이다. 사실 스마트 포인터는 객체인데, 포인터의 역할을 하는 객체를 뜻한다. 그럼 스마트 포인터란 무엇일까? 일단 포인터를 다시 살펴보자. 포인터는 메모리 주소를 저장하는 변수이다. 하지만 포인터는 단점이 있는데, 바로 new 연산자를 이용해서 동적 할당을 하게 되면 delete 연산자를 통해서 메모리 해제를 시켜줘야 한다는 점이다. ( 하지 않으면 메모리 누수가 발생한다. ) 이런 단점을 보완하여 생겨난 것이 스마트 포인터이다. 즉, delete 연산이 자동으로 일어난다는 점이다. 예제를 살펴보자 먼저 점에 대한 클래스이다. 연산자의 오버 로딩이 되어있다. 스마트 포인터는 포인터처럼 동작하는 객체이기 때문에, 두 연산자의 정의는 필수이다. 생성자의 인자로 .. 2019. 11. 28. 이전 1 다음