스마트 포인터
-
스마트 포인터와 ->, *연산자 오버로딩@ 16. 1 ~ 17. 1/C++ 2013. 5. 21. 22:55
일반 포인터를 사용 후 delete를 호출하지 않으면 메모리가 누수가 발생하여 프로그램에 심각한 문제를 발생 그래서 쉽게 하기 위한 스마트 포인터가 등장! class Point{ int x; int y; public: Point(int _x=0, int _y=0) : x(_x), y(_y){} void Print() const{ cout 연산자의 경우 포인터를 리턴받고 *은 참조를 리턴받아 호출 저기서 PointPtr p1=new Point(1,2)의 경우 동적할당이긴 한데. 순서가 PointPtr의 생성자에 new Point(1,2) 동적할당한 값을 넣는것이다. 암시적 생성자를 Point = 10; 이렇게 생성하는건데.. 아무튼 PointPtr앞에 explicit를 붙이게 되면..좀더 명확히 써야한다...