gpt4 book ai didi

c++ - 将枚举与字符串变量一起使用

转载 作者:搜寻专家 更新时间:2023-10-31 00:23:22 24 4
gpt4 key购买 nike

我正在尝试做这样的事情,

enum Data_Property
{
NAME,
DATETIME,
TYPE,
};

struct Item_properties
{
char* Name;
char* DateTime;
int Type;
};

int main() {
std::string data = "/Name Item_Name /DATETIME [TimeStamp] /TYPE [Integer value]";
std::list <std::string> known_properties;

known_properties.push_back("/Name");
known_properties.push_back("/DATETIME");
known_properties.push_back("/TYPE");

Item_properties item_p = extract_properties(data); //I use a function to get properties
//in a structure.

//here I want to use a switch-case statement to get the property by enum value
}

我想知道有什么方法可以让它变得简单吗?或者我如何将 (/NAME/DATETIME/TYPE) 等属性键与枚举结合起来并避免使用 std::list 即 known_properties?

最佳答案

据我所知,C++ 枚举中没有任何东西类似于 C# 枚举属性。我可能是错的。

鉴于此,我建议使用 map 将数据属性映射到项目属性。您只需要构建此 map 一次。您还可以将字符串表示与项目和数据属性相关联。这应该可以更容易地构建项目属性对象。我认为列表不是这项任务的理想数据结构。

关于c++ - 将枚举与字符串变量一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2186122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com