Namespaces
Variants

std::experimental::atomic_shared_ptr<T>:: exchange

From cppreference.net
shared_ptr < T > exchange ( shared_ptr < T > desired, std:: memory_order order = std:: memory_order_seq_cst ) noexcept ;

以原子方式将底层的 shared_ptr 替换为 desired 。该操作属于读-修改-写操作。内存影响根据 order 参数值确定。

目录

参数

desired - 要赋的值
order - 需强制执行的内存顺序约束

返回值

调用前原子变量的值。

备注

atomic_shared_ptr 对象本身的所有更改,以及所有关联的 use_count 递增操作,均保证以原子方式执行。关联的 use_count 递减操作发生在原子操作之后,但不要求作为其组成部分。任何关联的销毁或释放操作均发生在原子操作之后,且不属其组成部分。

参见

std::shared_ptr 特化的原子操作
(函数模板)