博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++11 function函数用法
阅读量:6817 次
发布时间:2019-06-26

本文共 1989 字,大约阅读时间需要 6 分钟。

// C++11 function #include 
void print_num(int i){ std::cout << i << '\n';}void testFunctionTpl(){ // templet 匿名函数 std::function
getSum = [&](const int &nI1, const int &nI2) { int nSum = nI1 + nI2; std::cout << nSum << endl; }; getSum(8, 9); // lambda std::function
f_display_42 = []() { print_num(42); }; f_display_42(); //********************* 测试成员函数 begin*********************// class TestClass { public: TestClass(int i) : m_nI(i){} ~TestClass() {} void testMemberFunc(int i) const { std::cout << m_nI + i << endl; } int testResultFun(int i) const { return m_nI + i; } void testBindFun(int num) const { std::cout << m_nI + num << endl; } int m_nI; }; std::function
testMemberFunc = &TestClass::testMemberFunc; const TestClass oTestObject(100); // 传对象 testMemberFunc(oTestObject, 100); // 会根据模板构造对象 testMemberFunc(300, 100); // 返回值成员函数 std::function
testResultFun = &TestClass::testResultFun; int nRet = testResultFun(oTestObject, 100); std::cout << nRet << endl; // 成员变量 std::function
f_num = &TestClass::m_nI; std::cout << "m_nI: " << f_num(oTestObject) << '\n'; // 对象形式调用成员函数 using std::placeholders::_1; // 占位符 std::function
testBindFun = std::bind(&TestClass::testBindFun, oTestObject, _1); testBindFun(222); // 指针形式调用成员函数 std::function
testBindFun2 = std::bind(&TestClass::testBindFun, &oTestObject, _1); testBindFun2(333); //********************* 测试成员函数 end*********************// //********************* 测试普通函数 begin*********************// // 绑定普通函数 std::function
f_display_31337 = std::bind(print_num, 31337); f_display_31337(); //********************* 测试普通函数 end*********************// // bad_function_call std::function
f = nullptr; try { f(); } catch (const std::bad_function_call& e) { std::cout << e.what() << '\n'; } }int main() { testFunctionTpl(); int i = 0;}

 

转载于:https://www.cnblogs.com/xzlq/p/9505049.html

你可能感兴趣的文章
如何使用羊驼自动生成缩略图的功能。
查看>>
git 问题
查看>>
Fedora18设置终端快捷键 和 桌面快捷方式
查看>>
取消NavigationBar左右两边的空隙
查看>>
得到颜色的整形值
查看>>
.net winForm 实现类似qq 弹出新闻
查看>>
SSL加速和证书卸载的配置方式
查看>>
Intersect交集
查看>>
Sencha touch 中的一段源码匿名中定义Function并调用
查看>>
android开发学习 ------- 枚举类型在Android中的用法
查看>>
day14 装饰器模拟验证附加功能
查看>>
c#简单自定义异常处理日志辅助类
查看>>
make: *** No targets specified and no makefile found. Stop.错误
查看>>
闭包的常见用处
查看>>
中联通4月份3G用户净增181.7万总数突破2000万
查看>>
cJSON填坑记
查看>>
css3(border-radius)边框圆角详解(转)
查看>>
hdu1406
查看>>
Android 开发工具下载中文网站
查看>>
Redis 列表处理
查看>>