C++编译时数字转串
原文地址
 结合数组及C++目前不能用串作模板参数还有编串编译时符转串
元<正符...I>构 正至符{
    静 常 符 值[];
    静 常式 大小型 大小=的大小...(I);
};
元<正符...I>
常 符 正至符<I...>::值[]={('0'+I)...,0};
元<正符...I>构 负至符{静 常 符 值[];};
元<正符...I>常 符 负至符<I...>::值[]={'-',('0'+I)...,0};
元<极 负,正符...I>
构 至字符:正至符<I...>{};
元<正符...I>
构 至字符<真,I...>:负至符<I...>{};
元<极 负,正最大型 余,正符...I>
构 分解:分解<负,余/10,余%10,I...>{};
//很有意思,就两下就搞定了.
//如何将串也这样处理呢?
元<极 负,正符...I>
构 分解<负,0,I...>:至字符<负,I...>{};
//这里为分解的终点.
元<型名 T>
常式 正最大型 常绝对(T 数){中(数<0)?-数:数;}
元<型名 T,T 数>
构 串从:分解<数<0,常绝对(数)>{};
串从<正,1>::值;//"1"
静断(串从<正,1>::大小==1);
//用编译期数组来作为模板参数
 
                
                
            
        
浙公网安备 33010602011771号