【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;
}
相关推荐
小字节,大梦想2 天前
【C语言】指针由浅入深全方位详解
c语言·指针·回调函数·函数指针·指针数组
何去何从28575 天前
虚幻引擎中增强输入映射中鼠标输入无反应,怎么办?
虚幻引擎·ue
Carpe_yj_Diem2 个月前
UE5 FARFilter筛选器使用方法
ue
JK Chen3 个月前
Unreal 编辑器工具 批量重命名资源
ue
Zhichao_973 个月前
【UE 材质】序列图动画、波动效果、颜色切换效果
材质·ue
暂时先用这个名字3 个月前
UE5学习日记——制作多语言版本游戏,同时初步学习UI制作、多语言化、控制器配置、独立进程测试、打包配置和快速批量翻译等
学习·游戏·ue5·虚幻引擎·ue·多语言·unreal engine 5
Zhichao_973 个月前
【UE Niagara】蓝图获取粒子数据
ue·niagara
Dawn·张4 个月前
UE小:基于UE5的两种Billboard material(始终朝向相机材质)
unity·游戏引擎·ue
wblong_cs5 个月前
UE 打包窗口及鼠标状态设置
ue·窗口模式·鼠标锁定