2

我这里有以下问题:我编写(重构)一个记录器,并试图使用C++的运行时类型识别机制,专门typeid获取刚刚调用记录器的类的运行时类型信息。这进入一个宏,如:

#define debug() Streamer(__FILE__, __FUNCTION__, typeid(this).name(), LOG_DEBUG)

其中 Streamer 是一个重载类operator <<以获得所需的流式传输功能,例如debug() << "message " << 16;等...

唯一的问题是当我debug()从静态函数调用宏时。因为那时typeid(this)会发疯并非常正确地抱怨静态方法没有this.

我想听听您的意见,也许还有一些关于将类作为字符串获取的代码片段,该字符串包含尝试记录的静态方法。

干杯,F。

4

0 回答 0