gpt4 book ai didi

c++ - 自动创建一个定义对象的 vector ?

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:14 24 4
gpt4 key购买 nike

假设我有一个在 C++ 中创建类成员的宏。有没有办法修改下面的示例以自动创建 NumbersILike::nums?假设创建的对象不相同 sizeof

#define MAKE_NUM(num) int num
class NumbersILike
{
MAKE_NUM(three);
MAKE_NUM(four);
MAKE_NUM(five);
std::vector<int*> nums = { &three,&four,&five };
};

最佳答案

这是可能的。我查找了“X Macro”。

class NumbersILike
{
public:
#define LIST_OF_ITEMS \
X(three) \
X(four) \
X(five)

#define X(nm) int nm;
LIST_OF_ITEMS
#undef X

std::vector<int*> derp = {
#define X(nm) &nm,
LIST_OF_ITEMS
#undef X
};
};

关于c++ - 自动创建一个定义对象的 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47927250/

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