首页 > 编程语言 >UE4 C++学习 浅析UProperty属性说明符

UE4 C++学习 浅析UProperty属性说明符

时间:2022-09-01 18:00:54浏览次数:90  
标签:UPROPERTY UProperty 蓝图 C++ Cat 说明符 使用 浅析 属性

本文就 UProperty是什么?以及UProperty怎么用?做一个简单的总结。

什么是UPROPERTY?

首先看下官方的解释:

 

 

感觉还是比较模糊没看懂有什么用,我们接着往下看

 

要知道UPROPERTY有什么用,我们首先要知道反射(Refection)这个机制。这个机制在Java和C#等语言都是存在的,但是C++语言本身没有,所以UE4才有引入一些功能(例如UPROPERTY)用来实现反射。

 

我们先看看其他语言中对于反射的定义是什么:

反射就是在运行状态中

1.对于任意一个类,都能够知道这个类的所有属性和方法;

2.对于任意一个对象,都能够调用它的任意一个属性和方法;

即可以动态的获取信息以及调用对象的方法称之为反射机制

 

所以在UE4中,当我们使用反射机制,就可以对于一个类(UClass),我们可以获得这个类的所有属性和方法,而对于一个类对象(UObject),我们可以调用它所拥有的方法和属性

反射C++代码是由Unreal Build Tool和Unreal Header Tool产生的,但由于我们本文不深入探讨UE4的反射机制原理,所以到这里我们只要知道反射机制是什么就可以了。

 

怎么使用UPROPERTY?

还是先来看看官方解释:

这里有一个重要的变量叫做属性说明符。他的作用官方说的很清楚,就是用来控制属性以及引擎的部分功能的。

那么有哪些属性说明符呢?我们可以在UE的官方文档中找到,如图红色框部分的就是属性说明符,链接给在图下了。

文档:Unreal Engine UProperty Specifiers | 虚幻引擎5.0文档

现在我们以及知道了UPROPERTY有什么用了,下面会给出几个代码的例子让我来更加清楚的了解它的功能。

 例子全部来自于 All UPROPERTY Specifiers · ben

标签:UPROPERTY,UProperty,蓝图,C++,Cat,说明符,使用,浅析,属性
From: https://www.cnblogs.com/CatSevenMillion/p/16637347.html

相关文章

  • C++ delete进行了什么操作
    #include<iostream>classA{public:voidt(){std::cout<<"helloworld!"<<std::endl;}~A(){std::co......
  • 【C++】Debugging Segmentation Faults
     背景linux下的程序,在遇到空指针解引用、栈错误等原因崩溃时,bash会输出一条:Segmentationfault(coredump)如果你看到coredumped字样,并且在目录下也找到了一个叫co......
  • 在 C# CLR 中学习 C++ 之了解 namespace
    一:背景相信大家在分析dump时,经常会看到WKS和SRV这样的字眼,如下代码所示:00007ffa`778a07b8coreclr!WKS::gc_heap::segment_standby_list=0x00000000`000000000......
  • # C++ 简单的程序段记时工具
    基于宏定义的几个C++记时工具,实现类似于MATLAB中tic().toc()的功能代码#include<ctime>#definedef_tic(name)clock_tt_##name#definerec_tic(name)t_##name=c......
  • c++的类型转换
    1.int转string,函数to_string()x=10;stringm=to_string(x);经测试gccv5.4.0版本不支持,版本v7.5.0支持。判断版本号命令:g++-v同样适用于double,float2.string转int,......
  • C++ 地形导航系统之确定峰点的位置
    #include<iostream>#include<string>#include<fstream>#defineN64boolisPeak(intgrid[][N],intr,intc);intmain(){intnrows,ncols;intm......
  • c++基础思维导图2
    c++基础思维导图2结构体结构体的基本概念:用户自定义的数据类型结构体定义和使用struct结构体名{结构体成员}struct结构体名变量名;struct结构体名变量名={成......
  • CMOS工艺OD门,传输门,三态门原理应用浅析
    纲要OD门传输门三态门1.OD门i.概念在CMOS电路中为了满足输出电平变换,吸收大负载电流以及实现线与连接等需要,需要将输出级电路结构改为漏极开路输出的MOS管,构成漏......
  • 【C++】引用与指针的区别
    安全性首先引用要比指针要安全,因为引用不能更改绑定,但是指针可以更改指向,此外指针可以有多级,但是引用一般只有一级。在使用指针的时候,我们往往需要使用断言,判断指针是不是......
  • VectorCAST在汽车电子C++代码测试的应用
    随着汽车行业的发展,软件定义汽车已成为汽车产业达成的共识发展趋势,软件在汽车产品中也承担着越来越重要的角色,车身域各功能的实现,少则几千行代码,动辄百万行代码。随着汽车......