C++ 스마트포인터에서 참조계수 방법은 편리하기는 하지만 어째든 참조계수가 더 부담된다.
한번만 사용하고 복사나 대입을 금지하는 포인터를 만들면 참조계수 부담이 적고 destroy될때 메모리에서 정리된다.
참조계수 기반과 다르게 refbase를 상속받지 않는 int같은형도 가능하다.
즉 sp<int> p1 이런게 가능하다.
template<typename T> class sp
{
T* obj;
sp(const sp<T>&) //복사 금지
void operator=(const sp<T>& ) //대입금지
public:
~sp() { delete obj; }
sp(T* p = 0) : obj(p) {}
T* operator->() { return obj; }
T& operator*() { return *obj; }
};
' Software > C++' 카테고리의 다른 글
C++ Smart Pointer 참조계수 기반 (0) | 2016.08.21 |
---|---|
C++참조변수-2 (0) | 2016.07.30 |
C++ 참조변수-1 (0) | 2016.07.30 |