首页 > 后端开发 > C++ > C语言中如何获取当前类名?

C语言中如何获取当前类名?

Patricia Arquette
发布: 2024-11-15 18:25:03
原创
302 人浏览过

How to Get the Current Class Name in C  ?

CLASS 在 C 中等效

在 C 中,与提供的 FUNCTION 宏不同当前函数的名称,没有内置宏直接提供当前类的名称。

解决方案

正如提供的答案中提到的,使用 typeid(*this).name() 方法可以实现类似的功能。但是,此方法在静态方法中使用时有局限性。

对于静态方法和一般场景,可以使用使用宏的替代方法。一种方法涉及利用 PRETTY_FUNCTION 宏:

对于方法名称:

#define __METHOD_NAME__ methodName(__PRETTY_FUNCTION__)

inline std::string methodName(const std::string& prettyFunction) {
    // Extract and return the method name
    ...
}
登录后复制

对于类名称:

#define __CLASS_NAME__ className(__PRETTY_FUNCTION__)

inline std::string className(const std::string& prettyFunction) {
    // Extract and return the class name
    ...
}
登录后复制

请注意,此方法依赖于 PRETTY_FUNCTION 宏,该宏特定于 gcc 等某些编译器。

以上是C语言中如何获取当前类名?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板