Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C+中的委托是什么意思+;? C++中的委托人是什么意思,C/C++中的排序函数是以比较函数/函数为最后一个参数的一种委托形式?C++中的_C++_Delegates_Functor - Fatal编程技术网

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

C+中的委托是什么意思+;? C++中的委托人是什么意思,C/C++中的排序函数是以比较函数/函数为最后一个参数的一种委托形式?C++中的,c++,delegates,functor,C++,Delegates,Functor,回调函数可以(松散地)称为委托< /代码>(虽然委托< /代码>术语不用于此)。回调函数使用指向函数的指针将它们作为参数传递给其他函数。 但是,C语言中的委托与C++中的回调函数相比更先进。< P>委托< /强>:一个对象,它像一个带有订阅系统的多功能指针。它确实简化了使用静态或“对象”成员函数指针进行回调通知和事件处理 Link以简洁的方式解释委托,也可以引用链接。“委托”并不是C++术语的一部分。在C#中,它类似于美化的函数指针,可以存储对象的地址,也可以调用成员函数。在C++中,你可以把

回调函数可以(松散地)称为<代码>委托< /代码>(虽然<代码>委托< /代码>术语不用于此)。回调函数使用指向函数的指针将它们作为参数传递给其他函数。
但是,C语言中的委托与C++中的回调函数相比更先进。

< P><强>委托< /强>:一个对象,它像一个带有订阅系统的多功能指针。它确实简化了使用静态或“对象”成员函数指针进行回调通知和事件处理

Link以简洁的方式解释委托,也可以引用链接。

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

boost::bind
boost::function
结合使用

在C++中,我们使用“函数对象”这个词。函数对象是通过函数调用操作符()可以“调用”的任何对象(包括函数指针)


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

委派工作意味着与其他人共享工作负载。在现实生活中,如果你授权你的任务(如果你是一名经理,你将分享你的工作,期望别人在你不知道如何完成任务的情况下完成任务)

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

int计算(int(*func)(int c),int a,int b)

因为您需要向另一个函数发送一个指针,该函数将为您计算一些工作量。我最近用Python和C写了一篇关于函数指针的文章,看看吧,你可能会发现它很有用。这可能不是传统的在C或C++中委派工作的方法,但是TyMnOffy说,我有一点正确。

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


从这个意义上讲,qsort中使用的函数指针不是委托,而是回调,在回调中,框架模块可以通过用户软件进行扩展,正如。

回调函数是一个C概念。虽然它可以在C++中使用,但它已经被函子的概念取代了(像函数一样的对象)。标题中的Typo应该是“意思”。