В моей попытке разработать поточно-безопасный класс шаблонов слабых указателей С++ мне нужно проверить флаг, указывающий на то, что объект все еще жив, если да, то увеличивайте счетчик ссылок на объекты, и мне нужно выполнить оба действия атомарно.
Я знаю существование функций intrinsics, предоставляемых компилятором, например _InterlockedCompareExchange() и _InterlockedIncrement(). Но то, что я хочу, является функцией interlockedCompareIncrement(), существует ли эффективный способ имитации этого внутреннего использования с использованием других примитивов, по крайней мере на платформе Windows x86?