스마트 포인터
Posted 2012. 9. 4. 15:04포인터는 아니지만 포인터의 역할을 하는것
사용 이유
생성과 소멸 작업을 조절 할 수 있다
스마트 포인터가 생성되고 소멸되는 시기를 결절 할 수 있다. 대부분의 스마트 포인터는 생성 될 때 기본값 0을 가지기 때문에 값을 주지 않으면 초기화되지 않은 포인터가 일으키는 골치아픔을 원칙적으로 봉쇄한다. 어떤 스마트포인터는 객체를 가리키고 있던 최후의 포인터가 소멸될때 자동으로 그 객체를 삭제한느 기능도 가지고 있다.
복사와 대입 동작을 조절 할 수 있다.
스마트포인터가 복사되거나 대입될 떄 일어나는 일을 직접 결정 할 수 있다. 어떤 경우는 포인터가 가리키는 객체까지 자동으로 복사하던지 대입하도록, 즉 깊은 복사를 수행하도록 할 수 있겠고, 어떤 경우는 포인터 자체만 복사하던지 대입할수 있도록 할 수 있다. 이 외의 경우에는 이런 동작을 전혀 허용하지 않을수도 있다. 무엇은 원하든 상관없이 바라는 바를 그대로 이행하는 포인터가 스마트포인터다
역참조 동작을 조절 할 수 있다.
사용자가 스마트포인터가 가리키는 객체를 가져오려고 할 떄 특정 상황이 일어나게 하는것도 사용자가 결정 할 수 있다.
'C++' 카테고리의 다른 글
interface를 사용한 종속성 최소화 (0) | 2012.12.27 |
---|---|
깊은복사 얕은 복사 (0) | 2012.09.04 |
- Filed under : C++