std::copyable_function::operator=
来自 cppreference.cn
< cpp | utility | functional | copyable function
copyable_function& operator=( const copyable_function& other ); |
(1) | (自 C++26 起) |
copyable_function& operator=( copyable_function&& other ); |
(2) | (自 C++26 起) |
copyable_function& operator=( std::nullptr_t ) noexcept; |
(3) | (自 C++26 起) |
template< class F > copyable_function& operator=( F&& f ); |
(4) | (自 C++26 起) |
为 std::copyable_function
赋新目标,或销毁其目标。
1) 将 other 的目标的副本赋值给 *this,如同执行 auto(other).swap(*this)。
2) 将 other 的目标移动到 *this,或若 other 为空则销毁 *this 的目标(若存在),通过 auto(std::move(other)).swap(*this)。other 在移动赋值后处于有效状态,但拥有未指定的值。
3) 若当前目标存在则销毁之。调用后 *this 为空。
4) 将 *this 的目标设为可调用对象 f,或若 f 为空函数指针、空成员函数指针或空的
std::copyable_function
则销毁当前目标,如同执行 copyable_function(std::forward<F>(f)).swap(*this);。仅当从 F
构造 copyable_function
的构造函数参与重载决议时,此重载才参与重载决议。若选中的构造函数调用是非良构的或具有未定义行为,则程序为非良构或具有未定义行为。目录 |
[编辑] 参数
other | - | 要复制或移动其目标的另一个 std::copyable_function 对象 |
f | - | 用于初始化新目标的可调用对象 |
[编辑] 返回值
*this
[编辑] 示例
本节不完整 原因:没有示例 |
[编辑] 参见
赋值新目标 ( std::function<R(Args...)> 的公开成员函数) | |
替换或销毁目标 ( std::move_only_function 的公开成员函数) |