- MoreEffectiveC++/Techniques2of3 . . . . 8 matches
기본 개념은 StringValue에서 적용된 방식과 비슷하다. CountHolder는 RCWidget의 클라이언트로 부터 구현 상황을 숨겨 버릴 것이다. 사실 자세한 구현은 RCIPtr에 거의 다되어 있다. 그래서 이 클래스의 구현 상황을 보자.
struct CountHolder: public RCObject {
~CountHolder() { delete pointee; }
CountHolder *counter;
counter = new CountHolder;
: counter(new CountHolder)
counter = new CountHolder;
RCPPtr을 RCPtr과 오직 두가지 점에서 다른다. '''첫번째'''는 RCIPtr이 중간 조정자인 CountHolder통해서 접근하는 것과 달리 RCPtr 객체는 값을 직접 가리킨다는 점이다. '''두번째'''로는 operator->와 operator*을 오버로드(overload)해서 copy-on-write에 자동적으로 대응할수 있게 하였다.
Found 1 matching page out of 7555 total pages (5000 pages are searched)
You can also click here to search title.