std::experimental::propagate_const<T>::operator=
来自 cppreference.com
< cpp | experimental | propagate const
constexpr propagate_const& operator=( propagate_const&& p ) = default; |
(1) | (库基础 TS v2) |
template< class U > constexpr propagate_const& operator=( propagate_const<U>&& pu ); |
(2) | (库基础 TS v2) |
template< class U > constexpr propagate_const& operator=( U&& u ); |
(3) | (库基础 TS v2) |
propagate_const& operator=( const propagate_const& ) = delete; |
(4) | (库基础 TS v2) |
设 t_
为封装的指针类对象的私有数据成员。
1) 显式默认移动赋值运算符,它将 this->t_ 从 p.t_ 移动赋值。
2) 将 std::move(pu.t_) 赋值给 this->t_.
只有当
只有当
U
可以隐式转换为 T
时,此重载才参与重载解析。3) 将 std::forward<U>(u) 赋值给 this->t_.
只有当
只有当
U
可以隐式转换为 T
并且 std::decay_t<U> 不是 propagate_const
的特化时,此重载才参与重载解析。4) 复制赋值运算符被显式删除。
propagate_const
不可复制。[编辑] 参数
p | - | 另一个要从中移动的 propagate_const 对象 |
pu | - | 另一个要从中移动的不同特化的 propagate_const 对象 |
u | - | 要分配给包含的指针的另一个对象 |
[编辑] 返回值
*this.