#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为细节.
*/