我爱Aspx >> VC.Net >> CUJ:普及知识:typeintCUJ:普及知识:typeint
ss=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center>普及知识
: typeint
Stephen C. Dewhurst
(WQ注:这是比Loki还令我震惊的东西,实在难以译好。先放出来让大家都震惊一下,以后我会修订的。)
--------------------------------------------------------------------------------
在最近的系列文章中,我们为 C++语言设计和实现了一个typeof功能[注1]。 实现中要求在编译期将表达式的类型转换为一定结构的整型值,而这个整型值在以后还可以解码回原始的类型。我们遇到的问题是编码受到了整型值的长度限制,因为为了达到必须的编译期性能,算法将限定在整型的精度范围(32或64bits)内。而许多“合理的” 类型,编码需要数百bits长度的整型值。 (“不合理的” 类型可能需要极大的整型值)。
因为通常使用的数据抽象技术在编译期不是可用的,我们无法实现一个扩展精度的整型类型;我们被限定于可以使用在整型常量表达式上的那些操作上。我们的方法是实现一个编译期算术运算,操纵预定义的整型数集合。比如,左移一个4元组整型值(由4个常量表达式c1-c4组合而成),我们可以使用类似于下面的代码:
typedef ShiftLeft<c4,c3,c2,c1,ModLen> SL;
enum {
code1 = SL::code1,
code2 = SL::code2,
【我对这篇文章有话说?】
关于VC代码的编写和调试(三)[05-21]
通过串口收发短消息(上)[05-21]
A LITE VIRUS ABOUT PE INFECT[05-21]
让应用程序从IE中获取键入的网址[05-21]
Don Box:Smart Pointers : What..[05-21]
企业上网的几个理由[05-21]
如何在Linux下实现设备的配置[05-21]
非窗口类中使用定时器的方法(二..[05-21]
非窗口类中使用定时器的方法(一..[05-21]
非窗口类中使用定时器的方法[05-21]