c++ 포인터변수의 참조 개수를 세고 싶습니다..
글쓴이: zzang3757 / 작성시간: 금, 2013/11/15 - 2:00오후
제목이 좀 요상하긴한것 같은데,,
class Test
{
public
Test() {}
~Test() {}
.....
};
이런 클래스가 잇습니다..
Test* pT1 = new Test();
이렇게 객체 한개를 생성후,
Test* pT2 = pT1;
pT2라는 포인터변수로 pT1의 주소를 가리킬떄
pT1의 참조개수(?) 를 1증가시키고 싶습니다..
연산자 오버로딩 같은식으로해보려했으나,, 포인터 변수로 주소를 참조하는경우는 안되나보네요 -,-
포인터 변수로 동적으로 만들어진 객체를 참조할때마다 참조개수를 1씩 증가시키고 싶은데,,
어떠한식으로해야할지 알려주세요..
Forums:
std::shared_ptr 을 구현하고 싶다는
std::shared_ptr 을 구현하고 싶다는 뜻인가요?
비슷하긴한데,,, shared_ptr 처럼 다른
비슷하긴한데,,, shared_ptr 처럼 다른 클래스로 감싸놓게되면 = 이 연산자오버로딩이 호출되는데,,
저 위에 처럼 Test* p2 = p1; 하면 이상하게 연산자오버로딩이 호출이 안대네요.. p2는 객체가 없는 상태라 그런가..ㅜ
그렇게는 안되는 걸로 알고 있습니다.
그래서 스마트포인터들이 그냥 저런 방법들을 쓰고 있는 것.. 포인터는 타입 관계없이 랭귀지 기본형이라 연산자 오버라이딩이 안된다고 하네요.
--
댓글 달기