#define HZ_TRACE(...) Log::Getlogger()->trace(__VA_ARGS__)
类似于这样的宏定义,括号里是 ...
的,被称为可变参数宏,也称为变参宏,允许在宏中使用不定数量的参数。
-
...
为可变参数列表。在调用宏时,可变参数列表中的所有参数都将传递给该宏。例如,当你使用宏 HZ_TRACE("Print: {}", message)
时,...
为两个参数(字符串,变量)的集合
-
VA_ARGS
是预处理器宏的一个特殊标识符,它表示可变参数列表。在定义宏时,VA_ARGS 表示可变参数列表中的所有参数。在宏展开时,VA_ARGS 将被替换为实际传递给宏的参数列表。
因此,在宏展开时,HZ_TRACE(...)
实际上被替换为 Log::GetClientlogger()->trace(VA_ARGS)
,其中 VA_ARGS 表示实际传递给宏的所有参数。这使得宏可以处理不同数量的参数,使得代码更加灵活。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)