gpt4 book ai didi

c++ - 遍历结构变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:05:48 25 4
gpt4 key购买 nike

我想要一个迭代器来构造变量,以便根据枚举 ID 在运行时设置一个特定的变量。例如-

struct {
char _char;
int _int;
char* pchar;
};

enum {
_CHAR, //0
_INT, //1
PCHAR //2
};

int main()
{
int i = 1; //_INT
//if i = 1 then set variable _int of struct to some value.
}

如果没有 if/else 或 switch case 语句,你能做到吗?

最佳答案

不,C++ 不直接支持这个。

但是您可以使用 boost::tuple 做一些非常相似的事情:

enum {
CHAR, //0
INT, //1
DBL //2
};

tuple<char, int, double> t('b', 1, 3.14);

int i = get<INT>(t); // or t.get<INT>()

您可能还想看看 boost::variant .

关于c++ - 遍历结构变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2205583/

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