【1】场景分析

在一个函数内部,可能会多次用到某一段代码,一般情况是把这段用到次数较多的代码封装成一个函数。

但是,如果这段代码仅仅只在这个函数中有使用,这时封装成函数显得既麻烦又冗赘。

那么,有没有办法生成一个“临时的函数”,且“临时的函数”生命周期仅在这个函数当中?C++11中可以使用function配合lambda表达式来实现。

【2】代码示例

简单示例如下:

 #include <iostream>
#include <functional> class A
{
public:
void funcOld(int x, int y)
{
// -----code section
auto s1 = x + y;
// -----code section
auto s2 = x + y;
// -----code section
auto s3 = x + y; std::cout << "sum :: " << s1 + s2 + s3 << std::endl;
} void func(int x, int y)
{
auto func1 = [this](int x, int y)
{
return x + y;
}; auto s1 = func1(x, y); auto s2 = func1(x, y); auto s3 = func1(x, y); std::cout << "sum :: " << s1 + s2 + s3 << std::endl;
}
}; void main(int argc, char *argv[])
{
for (auto c : { "hello world !!!" }) // c++17 for
{
std::cout << c;
} std::cout << std::endl;
A a;
a.func(, ); system("pause");
} // run out:
/*
hello world !!!
sum :: 15
请按任意键继续. . .
*/

Good Good Study, Day Day Up.

顺序 选择 循环 总结

C++11 Function 使用场景的更多相关文章

  1. CI Weekly #11 | 微服务场景下的自动化测试与持续部署

    又一周过去了,最近我们的工程师正在搞一个"大事情" --「[flow.ci](http://flow.ci/?utm_source=bokeyuan&utm_medium= ...

  2. Using C++11 function & bind

    The example of callback in C++11 is shown below. #include <functional> void MyFunc1(int val1, ...

  3. C++11 function

    #include <iostream> #include <functional> #include <vector> using namespace std; / ...

  4. C++11 function使用

    function是一组函数对象包装类的模板,实现了一个泛型的回调机制. 引入头文件 #include <functional>using namespace std;using names ...

  5. c++11 function bind 测试。

    实验小结 1)function 是一个模板类.有函数指针成员.可以看作安全型函数指针. template<typename _Res, typename... _ArgTypes> cla ...

  6. c++11:function的用法

    function是函数.函数对象.函数指针.和成员函数的包装器,可以容纳任何类型的函数对象,函数指针,引用函数,成员函数的指针 普通函数 #include <functional> voi ...

  7. C++ 11: function & bind 使用示例

    #include <functional> #include <iostream> struct Foo { Foo(int num) : num_(num) {} void ...

  8. C++11 function用法 可调用对象模板类

    std::function<datatype()> ()内写参数类型 datatype 代表function的返回值 灵活的用法.. 代码如下 #include <stdio.h&g ...

  9. C/C++ 随笔目录

    [1]基础部分 (1)宏定义 <assert> <offset宏> <#pragma once> <宏定义学习> <预处理语句> <# ...

随机推荐

  1. Python 字符串常用方法总结

    明确:对字符串的操作方法都不会改变原来字符串的值 1,去掉空格和特殊符号 name.strip()  去掉空格和换行符 name.strip('xx')  去掉某个字符串 name.lstrip()  ...

  2. 配置svn用户及密码

    配置账户及密码   格式: user=passwd 配置新的账户 [root@mysql conf]# vim passwd 创建两个账户 [root@mysql conf]# egrep -v &q ...

  3. strlen函数细节

    strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值. 原型: ...

  4. [django]django权限简单实验

    djagno https://www.jianshu.com/p/01126437e8a4 开始我一直没明白内置的view_car 怎么实现view 只读库的. 后来发现这个api需要在views.p ...

  5. 122A

    Copy #include <stdio.h> int main() { int dig; int flag=0; scanf("%d", &dig); if( ...

  6. SSM基础整合

    1.表现层: 依赖jar包:spring+JSP+文件上传组件+dubbo+fastdfs web.xml配置:乱码过滤器+DispatcherServlet前端控制器 <!-- 配置post乱 ...

  7. 4个项目带你学习ThinkPHP

    ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,这里分享4个项目教程,带你掌握ThinkPHP,并能够在实践开发中应用. ThinkPHP框架实践 这个教程从ThinkPHP的入门 ...

  8. linux curl命令如何上传本地文件夹和下载文件

    本地有一个文件夹为my_dir,里面有四个文件,分别是test1.txt,user_account,tools_user,plans 要把这个my_dir文件夹传到ftp 192.168.8.251 ...

  9. 2019年UI和UX设计趋势:大概是最全的汇总了!

    朋友们,很快,2018就要跟我们说

  10. Hinge Loss、交叉熵损失、平方损失、指数损失、对数损失、0-1损失、绝对值损失

    损失函数(Loss function)是用来估量你模型的预测值 f(x) 与真实值 Y 的不一致程度,它是一个非负实值函数,通常用 L(Y,f(x)) 来表示.损失函数越小,模型的鲁棒性就越好. 损失 ...