std::experimental::atomic_shared_ptr<T>::exchange
来自 cppreference.cn
< cpp | experimental | atomic shared ptr
shared_ptr<T> exchange( shared_ptr<T> desired, std::memory_order order = std::memory_order_seq_cst ) noexcept; |
||
原子地用 desired
替换底层的 shared_ptr
。此操作是读-修改-写操作。内存受到 order
值的影响。
目录 |
[编辑] 参数
desired | - | 要赋值的值 |
order | - | 要强制执行的内存顺序约束 |
[编辑] 返回值
调用前原子变量的值。
[编辑] 备注
对 atomic_shared_ptr
对象本身的所有更改,以及所有相关的 use_count 增量,都保证以原子方式执行。相关的 use_count
减量发生在原子操作之后,但不要求成为原子操作的一部分。任何相关的销毁或释放操作都发生在原子操作之后,并且不是原子操作的一部分。
[编辑] 参见
为 std::shared_ptr 特化原子操作(函数模板) |