[翻译] Effective C++, 3rd Edition, Chapter 7. Templates(模板)和 Generic Programming(泛型编程)

Chapter 7. Templates(模板)和 Generic Programming(泛型编程)

作者:Scott Meyers

译者:fatalerror99 (iTePub's Nirvana)

发布:http://blog.youkuaiyun.com/fatalerror99/

C++ templates(C++ 模板)的最初动机是直截了当的:使得创建类似 vectorlistmap 这样的 type-safe containers(类型安全的容器)成为可能。然而,越多的人使用模板工作,他们发现他们能使用模板做的事情的种类就越多。containers(容器)确实不错,但是 generic programming(泛型编程)——写出独立于所操作的 objects(对象)的 types(类型)的代码的能力——更加不错。像 for_eachfindmerge 这样的 STL algorithms(STL 算法)就是这种编程的范例。最终,人们发现 C++ template mechanism(C++ 模板机制)是 itself Turing-complete(自身图灵完备)的:它能用于计算任何可计算的值。这样就引出了 template metaprogramming(模板元编程):在 C++ 编译器中运行,而当编译完成时停止运行的程序的成果。目前,containers(容器)仅仅是 C++ template pie(C++ 模板派)的一小部分。然而,无论模板的应用如何广泛,一套核心的思想成为所有 template-based programming(基于模板编程)的基础。这些思想就是本章的焦点。

本章不会使你成为一个专家级模板程序员,但会使你成为一个更好的模板程序员。它也会给你一些你需要的信息,以使你关于 template-programming(模板编程)的知识范围扩展到你希望的宽度。

本章包括以下内容,陆续发布:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值