我需要在某些日志消息之前自动添加方法名称。我一直在使用__FUNCTION__来做到这一点,但它会生成方法的完全限定名称(namespace::class:method)。因此,这浪费了大量空间,并使日志的可读性降低。有没有办法在MACRO中仅追加方法名称,而没有任何不必要的限定符?

最佳答案

如果您的日志记录代码如下所示:

#define LOGCALL \
    clog << "Called " << __FUNCTION__ << endl;

那么您可以简单地编写一个全局函数以根据需要修剪函数名称,然后说:
#define LOGCALL \
    clog << "Called " << MyTrim( __FUNCTION__ ) << endl;

关于c++ - 在宏中生成方法名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3062140/

10-12 07:33
查看更多