__CLASS__C++中是否有一个宏,它给出类似于__FUNCTION__宏的类名,它给出了函数名
我正在开发一个日志记录/跟踪单元(请不要指向现有的单元,这是为了获得与结果相同的体验).
要获得运行时调用堆栈跟踪,我们的想法是首先构造一个TraceObject实例,输入一个函数,它携带当前类和函数的信息.有点类似于:
TraceObject to( "MyClass", "myClassFunction" );
Run Code Online (Sandbox Code Playgroud)
TraceObject推送this每个线程堆栈的构造函数,析构函数再次弹出它.因此可以查询堆栈以获得调用堆栈.
我让这个工作满意.但是,有一个小小的飞贼:对象to.根据设计,它永远不会被该名称所引用.因此,它不需要具有名称,尤其是可能与客户端使用的任何标识符冲突的名称(或者,在_前缀的情况下,实现).
TL;博士
是否有可能在堆栈上创建一个匿名的非临时对象(即一个将在函数返回之前生效但没有标识符的对象),如果是,它将如何完成?
我在c ++中遇到了一个代码,其中class被定义为:
class MACRO class_name
{
public :
private :
}
Run Code Online (Sandbox Code Playgroud)