хочешь чтобы 10 потоков могли смотреть на одно значение, когда последний поток завершиться тебе значение больше не нужно, с другой стороны следить за потоками невозможно, без shared ptr любое обращение чревато обращением в удалённую память или чемт о таким
Разрушение объекта неатомарно, кажется пример просто некорректный
не понятно зачем тут атомарность требовать
он разрушается один раз когда никому не нужен
Если я правильно представляю имплементацию деструктора, то refcount--;//атомарно ifk(!refcount){ // Сюда могут заехать два потока например Delete() }
не могут, счётчик атомарный потому что
скорее там будет написано что то типа compare_exchange_weak в такой ситуации
да вроде достаточно просто if(!—counter)
ну а внутри него как раз compare exchange
Он тут не нужен
Обсуждают сегодня