gpt4 book ai didi

c++ - #在函数 C++ 中定义宏

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

我想知道是否有办法在函数内部使用宏,例如,如果我们有这样一段代码:

struct SomeStruct{
int fancyVariableNumberOne;
int notSoFancyVar;
};

void SomeFunction(SomeStruct *array)
{
#define w(i) array[i].fancyVariableNumberOne;

...


}

我不想每次都写array[i].fancyVariableNumberOne,我可以在不改变结构的情况下以某种方式缩短它吗?

最佳答案

是的,您可以像这样定义和使用宏。唯一的问题是宏不会​​仅限于该函数。从那时起,它将在整个翻译单元中可见(除非,正如@MichaelKohne 指出的那样,您使用 undef 将其删除。)

与其使用宏,不如尝试使用内联函数。它将更加灵活,并且意外副作用更少。

关于c++ - #在函数 C++ 中定义宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21187079/

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