std::function<R(Args...)>::swap
来自cppreference.com
| |
(C++11 起) | |
交换 *this 与 other 存储的可调用对象。
参数
| other | - | 要与之互换存储可调用对象的函数包装 |
返回值
(无)
示例
运行此代码
#include <functional>
#include <iostream>
void foo(const char* str, int x)
{
std::cout << "foo(\"" << str << "\", " << x << ")\n";
}
void bar(const char* str, int x)
{
std::cout << "bar(\"" << str << "\", " << x << ")\n";
}
int main()
{
std::function<void(const char*, int)> f1{foo};
std::function<void(const char*, 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)
