<b>C++箴言:谨严利用模板元编程</b>[VC/C++编程]
本文“<b>C++箴言:谨严利用模板元编程</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
template metaprogramming (TMP)(模板元编程)是写 template-based(基于模板)的运行于编译期间的 C++ 程序的历程.考虑一下:一个 template metaprogram(模板元程序)是用 C++ 写的运行于 C++ 编译器中的程序.当一个 TMP 程序运行完成,它的输出——从 templates(模板)实例化出的 C++ 源代码片断——随后被正常编译.
假如你仅把它看做古怪的特点而没有打动你,那你就不会对它有充足的深化的考虑.
C++ 并非为 template metaprogramming(模板元编程)计划的,但是自从 TMP 在 1990 年代早期被发现以来,它已被证明非常有效,使 TMP 变简单的扩大极大概会被加入到语言和它的尺度库之中.是的,TMP 是被发现,而不是被创造.TMP 所基于的特点在 templates(模板)被加入 C++ 的时刻就已经被引进了.所需求的全部就是有人注意到它们可以以一种精良的并且意想不到的方法被利用.
TMP 有两个强盛的力气.首先,它使得用别的办法很难或不大概的一些事情变得简单.第二,因为 template metaprograms(模板元程序)在 C++ 编译期间履行,它们能将工作从运行时转移到编译时.一个后果就是普通在运行时才能被发觉的错误可以在编译期间被发现.另一个后果是 C++ 程序使得 TMP 的利用在以下每一个方面都能更有效率:更小的可履行代码,更短的运行时间,更少的内存需求.(但是,将工作从运行时转移到编译时的一个后果就是编译历程变得更长.利用 TMP 的程序大概比它们的 non-TMP 对等物占用长得多的编译时间.)
考虑STL的advance伪代码.(在《C++箴言:为范例信息利用特点类》中.你目前大概需求读该文,因为在本文中,我假定你已经熟习了该文的内容.),我突出表示代码中的伪代码部份:
以上是“<b>C++箴言:谨严利用模板元编程</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |