Хорошо, я задаю то же, что и этот удаленный вопрос , но я задаю его более прямо.
Я ' У нас есть две переменные-указатели в двух экземплярах одного и того же класса. Я хотел бы поменять местами содержимое этих переменных (не то, на что они УКАЗЫВАЮТ, а только сами переменные) атомарно.
Я хотел бы избежать блокировок, если это вообще возможно.
Как мне это сделать?
РЕДАКТИРОВАТЬ: На три миллиарда ответов InterlockedExchangePointer, сначала прочтите документы MSDN . InterlockedExchangePointer обменивает значение целевого указателя на значение в регистре стека . Он (сам по себе) не обменивается двумя указателями в ячейках памяти.