C 提供 FUNCTION 宏来检索当前正在执行的函数的名称。同样,开发人员经常想知道是否存在一个等效的宏来获取类名,类似于 __CLASS__。
答案在于探索 C 语言设计的替代方案。以下是一些可行的选项:
自定义宏:开发人员可以定义自定义宏来提取所需的信息。例如:
对于方法名称提取:
#define __METHOD_NAME__ methodName(__PRETTY_FUNCTION__) inline std::string methodName(const std::string& prettyFunction) { // Extract the method name from __PRETTY_FUNCTION__ ... }
对于类名称提取:
#define __CLASS_NAME__ className(__PRETTY_FUNCTION__) inline std::string className(const std::string& prettyFunction) { // Extract the class name from __PRETTY_FUNCTION__ ... }
这些自定义宏模拟 CLASS 的功能,但需要仔细考虑处理特殊情况,例如没有类上下文的方法或全局函数。
以上是C 中是否有用于类名提取的 __CLASS__ 宏?的详细内容。更多信息请关注PHP中文网其他相关文章!