c++自定义调试级别加类改进版.

#pragma once 
#define 函类名() 取左串其右(宏函名,"::")
//0,代表不用//1,代表大枝
//2,代表中枝//3,代表小枝
 允许调试{//级,与要调试类.
    无序映<,>; m;//只针对类中函数.普通函数
    //应该是注册机制.一个中心.
    <,型名...M>
     注册(){((,简写名<M>(),),...);}
    //将类名改成中文.类名底层为utf8编码.
     置类名(&a){m=a;}
    < I,型名...T>常式  动作(T...o){
         t=.查找(m);(t==.());
        ((t->第二)>=I){打印(o...);}
    }//加个只调试某些类呢?,也可以加个调试级数.
};//调试,必须给出级别.还要有个转发函数.
允许调试 t; gm;
//怪名,如果不是全局名,则会重复定义,可以引起
//编译死机.如何让调试适应(d.表示())这种类型呢
#define 调试(a,...) \
    gm=函类名();t.置类名(gm);\
    t.动作<a>(__VA_ARGS__);

/*用法如下:
    t.注册<1,A类,...>();//1,设置级别(0~3).
    前面数字越大,显示信息越多.
    再在需要的地方加上
    调试(2,"信息");//2为一般,3为细节.
*/
posted @ 2021-01-30 15:22  zjh6  阅读(19)  评论(0)    收藏  举报  来源