尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

聊聊UE的ThisClass

聊聊UE的ThisClass
📅 发布时间:2026/8/4 7:50:01

UE有个很有意思的设计ThisClass,你肯定看过这样的代码:

voidAMyActor::BeginPlay(){Super::BeginPlay();ThisClass::InternalReset();TSharedPtr<ThisClass>Self=MakeShared<ThisClass>();}

ThisClass在UE中作为类别名使用,相比较this关键字它可以调用静态成员,而又无需写全类名,这作为一种设计风格广泛在UE代码中出现。

1.简化类名&重构

该设计可起到简化类名的目的

TSharedPtr<FMyExtremelyLongGameplayWidget>Ptr=MakeShared<FMyExtremelyLongGameplayWidget>();// 简洁优雅TSharedPtr<ThisClass>Ptr=MakeShared<ThisClass>();

当重构时,也可做到较少改动。

2.对抗 C++ 的“名称隐藏”(Name Hiding)

这是 C++ 开发者容易踩的深坑。当子类重载了父类的同名函数时,this->Func() 可能导致意想不到的调用歧义。

classABase{public:voidLog(intCode);};classADerived:publicABase{public:voidLog();};// 隐藏了基类的 Log(int)voidADerived::Test(){// this->Log(1); // 编译错误!因为 ADerived::Log() 隐藏了父类版本ABase::Log(1);// 硬性指定父类版本——可行但繁琐ThisClass::Log();// 明确指定:我要调用当前类定义的 Log(),忽略父类干扰}

3.仅限类内部作用域

ThisClass 的 typedef 定义在类作用域内,无法在类外部使用。在 .cpp 文件的全局函数中,仍需写完整的类名。

相关新闻

  • ArkTS 核心语法精讲:运算符、空安全与流程控制
  • Unity内存碎片化诊断与优化:从原理到实践的全面解决方案
  • 自动驾驶迎来“第二春“:物理 AI 与端到端大模型重塑行业

最新新闻

  • 京东自动下单助手:高效抢购与库存监控解决方案
  • CTF竞赛入门指南:从零构建网络安全实战技能
  • SpringBoot微服务架构在全域旅游系统中的应用实践
  • 大语言模型提示词工程实战:单提示词生成结构化游戏框架
  • 2026沈阳无票老金出手体验 易奢福按实际纯度正常估价当场秒打款 - 易奢福
  • DownGit:GitHub资源精准下载的技术架构与创新应用

日新闻

  • 5分钟快速搭建智能数字人:Live2D虚拟形象终极部署指南
  • 告别繁简字幕转换烦恼:这款开源工具让你一键搞定影视字幕处理 [特殊字符]
  • GPT-5.4传闻背后:大模型永久记忆与极限推理的技术演进与挑战

周新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

月新闻

  • ClickHouse版本管理深度实战:4步构建零风险升级与回滚体系
  • Java 23 种设计模式:从踩坑到精通 | 番外:责任链模式 —— 物流审批流程实战
  • 华硕笔记本性能解放指南:G-Helper轻量级控制工具全面解析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号