2016. 4. 9. 19:07

- 스마트 포인터의 아이디어는 레퍼런스 카운팅과 더 자동적인 메모리 관리

- 만약 객체가 영역 밖으로 벗어나고 그 밖의 다른 곳에서 사용하지 않는다면 자동적으로 삭제됨

- 이것은 예외 안전 코드 작성의 중요한 부분

- 스마트 포인터를 적절히 사용하면 너의 코드에서 명시적인 삭제 부분은 볼 수 없다


- vtkSmartPointer


- vtk 객체 생성

- vtkObject * myObject = vtkObject::New();


* 수동 삭제

- myObject->Delete();


* 헤더 파일

- #include <vtkSmartPointer.h>


* vtk 스마트 포인터를 이용한 객체 생성

vtkSmartPointer<vtkObject> myObject =

                                          vtkSmartPointer<vtkObject>::New();



* 기존에 존재하는 객체를 스마트 포인터에 대입


vtkSmartPointer<vtkPolyData> myObject;

myObject.TakeReference(vtkPolyData::New());