生成整数长度的枚举数组

Generating Enum array of integer length

本文关键字:枚举 数组 整数      更新时间:2023-10-16

在C++中,或者更具体地说是虚幻引擎Ufunction中,我需要创建一个基于整数的Enum数组。(我的输出基于枚举,所以据我所知没有其他方法。

虽然我确实有基本的编码知识,但我对C++相对较新。枚举对我来说是新的,可能是我误解了枚举的本质。

数组一开始是空的,需要根据我的整数输入填充以包含 N 个成员。我使用什么方法来解决此问题?

输出如下所示:

enum class myEnum : uint8{
Enum1,
Enum2,
Enum3,
Enum4,
Enum5,
}

虽然你可以在运行时用元素更新数组(因为它只是数据(,但枚举指定了一个类型,类型定义必须在编译时解析(这是一件好事!因此,没有直接的方法可以实现您的期望。

一个建议是使用 std::set,它在功能上与枚举非常相似,并且还提供了稍后操作它的方法,这可能对您的用例有益。

枚举是您自己的数据类型,它基于 int。请参阅下面的代码:

enum YOUR_ENUM
{
YOUR_AGE = 20,          //assigned 20 by programmer
YEAR = 2019,            //assigned 2019 by programmer
NEXT_YEAR,              //assigned 2020 by compiler
NEXT_NEXT_YEAR          //assigned 2021 by compiler
};
using namespace std;
int main()
{
cout << YOUR_AGE << endl;
cout << YEAR << endl;
cout << NEXT_YEAR << endl;
cout << NEXT_NEXT_YEAR << endl;
}