Re[2]: Умные указатели в C++
От: Igor Semenov www.progz.ru
Дата: 29.08.08 09:19
Оценка: +1
Здравствуйте, Юрий Жмеренецкий, Вы писали:

ЮЖ>Хотя weak_ptr::expired и предназначен для использования в указанном выше сценарии(см. выделенное), но в коде показано совершенно другое. В присутствии многопоточности этот код может привести в ошибке т.к даже если вызов weak_ptr::expired вернет false, это не дает гарантии что weak_ptr::lock возвратит валидный объект. Перед вызовом weak_ptr::lock вызов weak_ptr::expired избыточен.


В статье я умышленно не рассматривал вопросы, связанные с работой в многопоточной среде, чтобы не усложнять тему.
Возможно, в следующей версии статьи я исправлю этот недостаток.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.