- 博客(11)
- 资源 (5)
- 收藏
- 关注
翻译 C++ 模板元程序(一)
前言: 原本想买一本 《C++ Template Metaprograming》中文版本。苦于一直以来都没能如愿,连影印版的也没有,原书引进,说实在话,对于我们这样一个月也没几两银子的人却也是不小的开销。所以,索性自己给自己翻译吧,就算是给自己一个学习的机会。 第一章: 本书的组成 本书的头几章给读者解释一些基础性的概念,后面章节所提到的内容都将以这些概念为基
2010-01-21 21:18:00 611
翻译 模板元程序(十一)
第三章 深入元函数 到此所做的铺垫,我们已经准备好了探索模板元程序技术最基本的使用例子:给传统的未检查的操作添加静态类型检查。我们从科学与工程中的实际例子出发一看究竟,这个例子几乎在所有的数值代码中都有应用。一路走来,你会学到一些最重要的新概念,并对在更高级别上使用 MPL 有一个了解。 3.1 量纲分析 在论文中做物理计算的
2010-02-16 22:33:00 659
翻译 模板元程序 (十)
2.9 一些细节在这一章中我们已经讨论了很多的基础。从 traits 到元函数的旅程,将我们从最简单的泛型程序的类型关联,引入到了使得元程序编程可以看成是一级代码实践的基础原则。我们也深挖了 C++ 模板机制,对于 type traits 库有了一个大概的了解,并且看到了它实际的一些组件,在这样的一个广阔领域里,一个重要的细节却被忽视了。我们将在回顾这章重点的时候将它们补回来。
2010-02-10 16:51:00 588
翻译 模板元程序 (九)
模板元程序 (九)2.6 空元函数在这一章中我们所做的最重要的事就是对“元函数”这个概念的说明,但是依然有一个问题我们没有回答:到底“空元函数”(零参数)是什么样子?从需求的观点来看,一个空元函数就是这样的类型:无论其是一个类类弄,或者是一个类模板特化,只要它提供了内嵌的 ::type 成员。如 add_const 是一个空元函数,因为其总会返回同一个结果:int cons
2010-02-03 15:44:00 604
翻译 模板元程序(八)
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class
2010-01-31 22:09:00 626
翻译 模板元函数(七)
2.3 数值元函数你甚至惊讶于用上面的表达可,元函数就可以产生数值。不,我们并不是要你给一个已经是数字的名字一个类型。一个具有数值结果的元函数的 ::type 结果是一个真正的类型,一个整型常数的包装器。而它的内嵌 ::value 是一个整形常量。我们会在第 4 章中展示其具体细节,但这个时候,下面的例子可以给你一个直观的感受: struct five // 整形常量
2010-01-30 23:17:00 824
翻译 模板元程序(六)
2.2 元函数如果到此为止,你已经注意到 traits 模板与普通函数的相似性那就太好了。traits 模板参数与内嵌类型所扮演的角色是运行时函数的参数与返回值。第一章中的二进制模板因此就如函数一样。 如果 iterator_traits 所进行的“类型计算”尽管我们也理解其过于简单而无法与函数相提并论。但在后面的部分,我保证会很快变得越来越有趣。t
2010-01-29 21:44:00 518
翻译 C++ 模板元程序(五)
第二章 Traits 与类型操作我们希望第一章所提的数字例子不会给你这样的样印象:大多数元程序特征就是算术。实际上,在编译期的数值计算相比之下是比较少见的。在本章中,你会了解到那些常常出现的基本概念:元程序就是做类型计算。2.1 类关联在 C++ 中,在编译时期可以操作的实体叫做元数据。他们可以分为两种:类型的与非类型的。而所有的分类都可以用做模块的参数。在第一章中所使
2010-01-26 22:14:00 549
翻译 C++ 模板元程序(四)
(第一章)1.7 为什么需要一个元程序库?与从头开始创建一个元程序库相比,我们更愿意使用更高阶的 Boost Metaprogramming Library(MPL)。就算你并没有通过本书来了解 MPL,我们认为你花一些时间来学习它,是一个不错的投资。因为在每天的工作中,MPL 会带给你非常多的便利。其一是高质量。大多数的程序员在使用模板元程序组件时,都他们看成是应用到某些更大
2010-01-25 21:42:00 559
翻译 C++ 模板元程序(三)
(第一章) 1.4 为什么要进行元编程 到底元程序有什么样的好处呢?有明显更简单的方式来阐述我们这里所讨论的相同类型的问题。让我们来看看另外两种方式应用到二进制数及语法分析器的构造时是如何作用的。1.5.1 方式1:运行时计算最直接,我们可以在运行时计算而不是编译时计算。例如,我们可以使用上面的二进制函数实现之一,或者设计一个分析系统来解析我们第一次请求分析时输入的
2010-01-24 21:26:00 678
翻译 C++ 模板元程序(二)
第一章你可以通过此章进行一下热身。由此也可以测试一下你所使用的工具,了解一些基本概念及术语。在本章结束时,你最起码已经有了本书所涉及内容的一个粗略概念,并且你要(我们也希望)继续往下学习。1.1 让我们开始吧模板元程序的一个好处就是与以前旧的良好传统系统共享一种特点,就是一性生就之后,只要其能如预期工作,就无需了解其底下是如何实现的。为了让你确信这一点,可以来一小段
2010-01-23 20:51:00 720
C O N C R E T E MATHEMATICS
2009-05-09
Network Programming With Perl
2009-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人