ed Ptr, который автоматически

Автор admin Четверг, 25 июня 2009 11:32

ed Ptr, который автоматически организует подсчет ссылок и вызывает Совместное использование ограниченных ресурсов 549 оператор delete для объекта при обнулении счетчика. Вот как выглядит предыдущий пример в случае использования шаблона CountedPtr: //: Cll:ReferenceCounting.cpp // CountedPtr предотвращает преждевременное // уничтожение объекта. //{L} ZThread linclude linclude “zthread/Thread.h” |include “zthread/CountedPtr.h” using namespace ZThread: using namespace std: class Count { enum { SZ = 100 }: int n[SZ]: public: void incrementО { for(int i =0; i < SZ: i++) n[i]++: } }: class Incrementer : public Runnable { CountedPtr count; public: Incrementer(const CountedPtr& с ) : count(c) {} void run() { for(int n = 100; n > 0; n–) { Thread::sleep(250); count->increment(); } } }: int mainO { CountedPtr count(new Count); try { Thread t0(new Incrementer(count)): Thread tKnew Incrementer (count)); } catch(Synchronization_Exception& e) { cerr « e.whatO « endl; } } ///:- В новой версии класс Incrementer содержит объект CountedPtr, управляющий использованием объекта Count. Внутри


Комментарии закрыты.