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());