Mic*_*bie 0 c++ declaration function
所以我试图抓住某人的代码(并且无法与他们联系),我不明白为什么他们这样做.他们像这样调用main中的函数:
LOG_AddFunction();
Run Code Online (Sandbox Code Playgroud)
此函数在头文件中定义,如下所示:
#define LOG_AddFunction() LOG_Add(LOG_TYPE_NORMAL, "%s()", __FUNCTION__)
Run Code Online (Sandbox Code Playgroud)
然后LOG_Add在同一个头文件中定义:
extern int LOG_Add(LOG_TYPE eType, const char *pcText, ...);
Run Code Online (Sandbox Code Playgroud)
似乎没有LOG_AddFunction函数的任何最终定义,我不明白为什么代码会调用它.有人可以对此有所了解吗?
LOG_AddFunction不是一个功能.它是一个类似函数的宏.它唯一的"定义"正是你在问题中向我们展示的.
其目的是自动调用LOG_Addcallsite(__FUNCTION__)上函数的名称自动传递.无论何时编写LOG_AddFunction(),这些字符都会被预处理器自动替换(就像使用任何其他宏一样)LOG_Add(LOG_TYPE_NORMAL, "%s()", __FUNCTION__).
这样可以节省LOG_Add每次输入的全部内容; 而已.