gpt4 book ai didi

c++ - 重复宏 n 次

转载 作者:太空狗 更新时间:2023-10-29 23:02:10 25 4
gpt4 key购买 nike

我想问一下是否有某种方法可以自动“重复”宏 n 次 - 自动我的意思是编译时间,我想做这样的事情:

#define foo _asm mov eax, eax
#define bar(x) //I don't know how can I do it
int main()
{
bar(5); //would generate 5 times _asm mov eax, eax
return 0;
}

我知道我可以将宏嵌入到其他宏中,但我不知道我怎样才能做到恰好 n 次。我想在随机大小的垃圾生成器中使用它

最佳答案

你可以使用递归模板来做到这一点:

// recoursive step
template
<
size_t count
>
void n_asm() {
_asm mov eax, eax
n_asm<count - 1>();
}

// base of recursion
template<>
void n_asm<0>() {

}

int main()
{
n_asm<5>();

return 0;
}

关于c++ - 重复宏 n 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29470134/

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