代码之家  ›  专栏  ›  技术社区  ›  yesraaj

C++中的代表是什么意思?

  •  0
  • yesraaj  · 技术社区  · 16 年前

    C++中的委托是什么意思,C/C++中的排序函数是以比较函数/函数为最后一个参数的委托形式吗?

    5 回复  |  直到 16 年前
        1
  •  5
  •   sellibitze    16 年前

    “委托”实际上不是C++术语的一部分。在C#中,它类似于美化的函数指针,可以存储对象的地址,也可以调用成员函数。在C++中,你可以把这样的东西写成一个小的库。或者更一般的说法:合并 boost::bind<> boost::function<>

    sort接受一个“谓词”,它是一个特殊的函数对象,不修改其参数并返回布尔值。

        2
  •  2
  •   aJ.    16 年前

    delegates (不过 delegate 此术语不用于此)。回调函数使用指向函数的指针将它们作为参数传递给其他函数。 但是C语言中的委托相比C++中的回调函数更先进。

        3
  •  2
  •   Filip Ekberg    16 年前

    该概念在C++和任何其他具有代表能力的语言中是相同的。在C中,您可以将其视为委托:

    int calculate(int (*func)(int c), int a, int b)

    因为您需要向另一个函数发送一个指针,该函数将为您计算一些工作量。我最近写了一篇文章 blog post

        4
  •  1
  •   stefaanv    16 年前

    Delegation 主要用于将函数传递给类中嵌入的功能(pimpl、聚合、私有继承)。它们主要是一行(内联)函数,调用成员类的函数。据我所知,这与C的代表无关。

    Hollywood principle

        5
  •  0
  •   Prasoon Saurav    16 年前

    代表 :在订阅系统中充当多功能指针的对象。它确实简化了使用静态或“对象”成员函数指针进行回调通知和事件处理。

    This MSDN 链接