UE C++ 把Enum枚举转成FString字符串,最简单方法3行

枚举转字符串
创建一个函数专门处理枚举到字符串的转换,方法很简单只要3行。
且可以根据需求,选择用没有前缀的干净的短字符串或者有前缀枚举值限定的长字符串。
性能开销可能不怎么好,不过方便。

上面已经完成了功能,如果更讲究点,可以写成一个静态模板函数,方便在任何地方对任何枚举使用。

写成通用的模板函数

在这里插入图片描述
写一个类里面专门放工具性质的静态函数,继承UObject。并且是模版函数,不管是自己创建的哪种Enum都可以用。
在这里插入图片描述
使用的时候是这样的,很自由。

C++ 中,你可以使用预处理器宏或者函数来将枚举类型换成字符串。以下是两种常用的方法: ## 方法一:使用预处理器宏 在 C++ 中,你可以使用预处理器宏 `#define STR(x) #x` 将任何表达式换成字符串。因此,你可以定义一个包装枚举类型的宏,然后将其传递给 `STR` 宏来将其换成字符串。以下是一个示例: ```cpp #define ENUM_TO_STR(x) STR(x) enum MyEnum { Value1, Value2, Value3 }; const char* str = ENUM_TO_STR(Value1); // str 的值为 "Value1" ``` 在上面的示例中,我们定义了一个名为 `ENUM_TO_STR` 的宏,它将其输入参数换成字符串。然后,我们定义了一个名为 `MyEnum` 的枚举类型,以及一个指向枚举值的指针 `str`,该指针指向 `Value1` 的字符串表示。 ## 方法二:使用函数 另一种将枚举类型换成字符串方法是使用一个函数。你可以定义一个函数,该函数接受一个枚举值作为参数,并返回其字符串表示。以下是一个示例: ```cpp enum MyEnum { Value1, Value2, Value3 }; const char* enumToString(MyEnum e) { switch (e) { case Value1: return "Value1"; case Value2: return "Value2"; case Value3: return "Value3"; default: return "Unknown"; } } const char* str = enumToString(Value1); // str 的值为 "Value1" ``` 在上面的示例中,我们定义了一个名为 `enumToString` 的函数,该函数接受一个枚举值作为参数,并返回其字符串表示。然后,我们定义了一个名为 `MyEnum` 的枚举类型,以及一个指向 `Value1` 的字符串表示的指针 `str`。在调用 `enumToString` 函数时,我们将 `Value1` 作为其输入参数,并将其返回值赋给 `str`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值