|
Упрощенное создание объектов Объекты теперь создаются в три этапа: 1. Создать ConstPtr, указывающий на NULL. 2. Запросить у него Lock. 3. Потребовать у Lock создать объект функцией Make(). Конечно, это произведет впечатление на ваших коллег и лишний раз докажет вашу техническую квалификацию, но… они косо посмотрят на вас и вернутся к оператору new. Ведь он справляется с задачей за один этап, а нас окружают занятые, очень занятые люди. Существует несколько способов свести процесс создания к одному этапу, и самый простой из них - включить в ConstPtr другой конструктор. ConstPtr<Type>::ConstPtr(Transaction* t) : old_image(NULL), lock(NULL) { LockPtr<Type>& lp = Lock(t); lp.Make(); } Последующий вызов Lock() возвращает уже созданный LockPtr. |
Copyright 2005. Климов Александр. All Right Reserved.