std::experimental::atomic_weak_ptr<T>::exchange
来自 cppreference.com
< cpp | experimental | atomic weak ptr
weak_ptr<T> exchange( weak_ptr<T> desired, std::memory_order order = std::memory_order_seq_cst ) noexcept; |
||
原子地用 desired
替换底层的 weak_ptr
。该操作是一个读-修改-写操作。内存根据 order
的值受到影响。
内容 |
[编辑] 参数
desired | - | 要分配的值 |
order | - | 要强制执行的内存顺序约束 |
[编辑] 返回值
调用之前的原子变量的值。
[编辑] 备注
对 atomic_weak_ptr
对象本身的所有更改,以及所有关联的 use_count 增加,保证以原子方式执行。关联的 use_count
减少发生在原子操作之后,但不要求是其一部分。任何关联的销毁或释放操作发生在原子操作之后,并且不是其一部分。
[编辑] 参见
专门针对 std::shared_ptr 的原子操作(函数模板) |