std::function<R(Args...)>::swap

来自cppreference.com
< cpp‎ | utility‎ | functional‎ | function
 
 
 
函数对象
函数调用
(C++17)(C++23)
恒等函数对象
(C++20)
旧式绑定器与适配器
(C++17 前*)
(C++17 前*)
(C++17 前*)
(C++17 前*)
(C++17 前*)(C++17 前*)(C++17 前*)(C++17 前*)
(C++20 前*)
(C++20 前*)
(C++17 前*)(C++17 前*)
(C++17 前*)(C++17 前*)

(C++17 前*)
(C++17 前*)(C++17 前*)(C++17 前*)(C++17 前*)
(C++20 前*)
(C++20 前*)
 
 
void swap( function& other )noexcept;
(C++11 起)

交换 *thisother 存储的可调用对象。

目录

[编辑]参数

other - 要与之互换存储可调用对象的函数包装

[编辑]返回值

(无)

[编辑]示例

#include <functional>#include <iostream>   void foo(constchar* str, int x){std::cout<<"foo(\""<< str <<"\", "<< x <<")\n";}   void bar(constchar* str, int x){std::cout<<"bar(\""<< str <<"\", "<< x <<")\n";}   int main(){std::function<void(constchar*, int)> f1{foo};std::function<void(constchar*, int)> f2{bar};   f1("f1", 1); f2("f2", 2);   std::cout<<"f1.swap(f2);\n"; f1.swap(f2);   f1("f1", 1); f2("f2", 2);}

输出:

foo("f1", 1) bar("f2", 2) f1.swap(f2); bar("f1", 1) foo("f2", 2)


[编辑]参阅

交换两个 std::move_only_function 对象的目标
(std::move_only_function 的公开成员函数)[编辑]
close