美文网首页
# 可调用对象

# 可调用对象

作者: 马鹏飞_47c5 | 来源:发表于2019-11-09 18:23 被阅读0次

可调用对象

函数、函数指针、lambda表达式、bind创建的对象、重载了函数调用运算符的类这五种都叫做可调用对象。

特点:任何一个可调用对象有自己唯一的类类型,因此不可能将几个可调用对象放到同一个vector或者array中。但是不同类型的可调用对象可以有相同的参数类型和返回类型,可以利用function类将它们包装成同一种类型,放到容器里,这个容器就叫做函数表。

使用:

#include <functional>
function<double (double, double)> f1 = add;
function<double (double, double)> f2 = divide;
function<double (double, double)> f3 = [](double x, double y){return x * y;}
map<string, function<double (double, double)>> binops = {
    {"+", add},
    {"-", std::minus<double>()},
    {"/", divide()},
    {"*", [](double x, double y){return x*y;}},
    {"%", mod}
};
binops["+"](10, 5);

相关文章

  • 小结-Python-可迭代、迭代器和生成器的区别

    可迭代对象 可迭代对象指的是定义了_ _ iter _ _ 方法的对象,调用该方法会返回一个迭代器对象。 可迭代对...

  • Kotlin 内联函数 apply、let、run、with、a

    Apply 用this代表当前引用对象; 调用其方法时,this可省略; 一定有返回值,且返回值为当前对象 对象可...

  • 7月4日 晴

    1.可扩展性表示对象是否可以扩展,可以调用Object.esExtensible判定对象是否可扩展,Object....

  • 传递消息objc_msgSend

    在OC中,如果像对象传递消息,就会调用动态绑定机制来绝对调用的方法,对象在接收消息时调用的方法则由运行期决定,也可...

  • 迭代器和生成器

    for..of 语句for..of会遍历可迭代的对象,调用对象上的Symbol.iterator方法。 下面是在数...

  • jQuery的动画和jQuery的事件

    1.jquery链式调用 jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可...

  • Python 不可变对象

    不可变对象=》可哈希 对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新...

  • Dart学习-类

    使用类成员 对象的成员包括函数和数据(分别是方法和实例变量)。当你调用一个方法时,你在一个对象上调用它:这个方法可...

  • callable 可调用对象

    有call 方法的就是可调用对象 ,并且可以传入参数可像函数一样使用 可调用对象的意义: 在普通情况下,当一个类只...

  • 对象方法和类方法

    -对象方法 +类方法 调用对象方法必须先创建对象,在通过对象来调用。 类方法不依赖对象,使用对象名直接调用。 类方...

网友评论

      本文标题:# 可调用对象

      本文链接:https://www.haomeiwen.com/subject/ejmnbctx.html