zoukankan      html  css  js  c++  java
  • 标准库bind函数中使用占位符placeholders

            placeholders ,占位符。表示新的函数对象中参数的位置。当调用新的函数对象时,新函数对象会调用被调用函数,并且其参数会传递到被调用函数参数列表中持有与新函数对象中位置对应的占位符。

    举个例子:

            void function(arg1,arg2,arg3,arg4,arg5)

            {

                //do something

            }

            auto g = bind(function,a,b,_2,c,_1);

            新的函数对象:g

            被调用函数:function

            当调用函数对象g时候,函数对象g会调用function函数,并把其参数传给function函数,g的第一个参数会传给function的持有占位符_1的位置,即arg5。第二个参数会传给function的持有占位符_2的位置,即arg3。

            void g(X,Y);

            相对于调用下面函数

            function(function,a,b,Y,c,X);

            其中的arg1,arg2,arg4已经被绑定到a,b,c上。

            

            placeholders是一个命名空间,其本身定义在std命名空间中。placeholder中有名字_n (1,2,3,4,……n)。为了使用这些名字,两个命名空间都必须写上。例如:

    using namespace std::placeholders::_1;

          与bind函数一样,placeholders命名空间也定义在functional中。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    多年收集的一些稀有软件1
    Object-C中使用NSKeyedArchiver归档(将各种类型的对象存储到文件中)
    转-- iOS 30多个iOS常用动画,带详细注释
    转-ios设备唯一标识获取策略
    微信授权
    Windows服务Demo
    查询某个时间段在另一个时间段里面的时间
    微服务官方文档链接
    c# html 转word
    Unreal4 入门(配置)
  • 原文地址:https://www.cnblogs.com/houjun/p/4802190.html
Copyright © 2011-2022 走看看