【UE 委托】如何利用函数指针理解委托的基本原理

目录

  • [0 引言](#0 引言)
  • [1 函数指针模拟多播委托](#1 函数指针模拟多播委托)
  • 🙋‍♂️ 作者:海码007
  • 📜 专栏:UE虚幻引擎专栏
  • 💥 标题:【UE 委托】如何利用函数指针理解委托的基本原理
  • ❣️ 寄语:书到用时方恨少,事非经过不知难!
  • 🎈 最后:文章作者技术和水平有限,如果文中出现错误,希望大家能指正,同时有问题的话,欢迎大家留言讨论。

0 引言

今天在学习函数指针的时候想到了委托实现的基本原理,接下来简单的复现一下。

1 函数指针模拟多播委托

首先使用typedef定义了一种类型的函数指针。然后创建以绑定委托的函数集合 Slots。然后在委托调用时,遍历 Slots 集合,依次调用绑定的消息函数。

代码如下:

cpp 复制代码
#include <iostream>
#include <vector>

using namespace std;

typedef void (*SlotPtr) ();
vector<SlotPtr> Slots;

void Delegate()
{
	// 发出广播
	cout << "Call Delegate" << endl;
	for (auto Slot : Slots)
	{
		Slot();
	}
}

void Slot1()
{
	cout << "Slot1" << endl;
}

void Slot2()
{
	cout << "Slot2" << endl;
}

int main()
{
	// 模拟绑定过程
	Slots.emplace_back(Slot1);
	Slots.emplace_back(Slot2);

	// 模拟广播
	Delegate();


	return 0;
}
相关推荐
晴夏。8 小时前
UE垃圾回收的全方面讲解(通俗易懂)【底层实现、触发方式、引用保持、优化、工具】
ue5·游戏引擎·ue·垃圾回收
晴夏。2 天前
GAS下的网络同步的全面分析【超级全面】
游戏引擎·ue·gas·网络同步
晴夏。6 天前
UE5第三人称模板实现及相关引擎源码分析
unity·ue5·游戏引擎·ue
晴夏。6 天前
UE原生MovementBase实现分析
游戏引擎·ue·3c
晴夏。6 天前
UE原生第三人称相机源码分析
游戏·ue5·ue4·相机·ue·3c
网域小星球20 天前
C 语言从 0 入门(二十)|指针进阶:指针数组、数组指针与函数指针
c语言·开发语言·函数指针·数组指针·指针进阶
曼巴UE525 天前
Unlua 官方案例
c++·ue5·lua·ue
MinterFusion1 个月前
在数据可视化中需要考虑的人类视觉特性
信息可视化·ue
avi91112 个月前
UnReal-UE5虚幻蓝图如何修改
ue5·游戏引擎·虚幻·虚幻引擎·ue·蓝图·蓝图逻辑
_风华ts3 个月前
C++ 函数封装与绑定
c++·函数指针·函数封装