Delegates in C++

Delegates in C++

本文关键字:C++ in Delegates      更新时间:2023-10-16

我正在浏览一个代码,我遇到了以下代码段

using ConnectCallback = delegate<void(Connection_ptr self)>;
using DisconnectCallback = delegate<void(Connection_ptr self, Disconnect)>;

我试图了解代表,但消息来源没有帮助。

上述代码中代表的功能是什么?

c 没有开箱即用的delegate关键字,因此,使用语言混乱消除了唯一剩下的是delegate是在其他地方定义的模板。

delegate在给定的片段中不做任何事情。它只是一个被别名的标识符。当使用别名时,该动作将稍后发生。如果没有delegate的定义,则可以在delegate模板内部的场景后面进行任何数量的事情,但是此代码片段正在为delegate模板定义了一对和其他功能指针原型的别名。

编程器可以使用ConnectCallbackDisconnectCallback,而不是键入delegate<void(Connection_ptr self)>delegate<void(Connection_ptr self, Disconnect)>,它可能更清洁,并且在上下文中具有更大的含义。不幸的是,我们在这里没有上下文,所以我不能提供一个很好的用法例子。