这个问题在这里已有答案:
- C ++中是否有__CLASS__宏? 14个答案
11110
2018-03-25 00:03
起源
做什么的?可能还有其他方式。 - GManNickG
答案:
8
2018-03-25 00:06
需要说明的是,这不是标准的C ++,而是特定于编译器的扩展。 - GManNickG
我觉得 typedid(class).name() 是标准C ++生成编译器特定的输出。 cppreference.com/wiki/language/typeid - Adam Trhon
解析C ++代码的预处理器?谁做到了? - Hans Passant
值得注意的是,typeid(class).name()返回的名称不必是人类可读的。 - ltc
是的......但你的回答是 __CLASS__。也许我误读了那个支持使用的东西 __CLASS__ 而不是作为问题的链接。但是,如果是后者,这不是答案。这应该是评论/重复投票。 - GManNickG
不,没有这样的宏 - 抱歉。
但尽管如此: __FUNCTION__
(要么 __PRETTY_FUNCTION__
使用gcc)应该给你封闭类的名称 - 你只需要提取它。
2
2018-03-25 00:04