# Cpp-Templates-2nd
**Repository Path**: angeloabel/Cpp-Templates-2nd
## Basic Information
- **Project Name**: Cpp-Templates-2nd
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-05-10
- **Last Updated**: 2024-05-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# C++ Templates
*Second Edition*
* 作者:David Vandevoorde,Nicolai M. Josuttis,Douglas Gregor
* 译者:陈晓伟
* 首次发布时间:2017年9月8日([来源](https://www.amazon.com/C-Templates-Complete-Guide-2nd/dp/0321714121))
> 翻译是译者用自己的思想,换一种语言,对原作者想法的重新阐释。鉴于我的学识所限,误解和错译在所难免。如果你能买到本书的原版,且有能力阅读英文,请直接去读原文。因为与之相较,我的译文可能根本不值得一读。
>
>
— 云风,程序员修炼之道第2版译者
PDF可在本库的[Release页面](https://github.com/xiaoweiChen/Cpp-Templates-2nd/releases)获取。 ## 本书概述 模板是C++中一个强大的特性,但对模板的误解,并未随着C++语言和开发社区的发展而消弭,从而无法使模板无法发挥其全力。本书的三位作者,同时作为C++专家,展示了如何使用现代模板来构建干净、快捷、高效、容易维护的软件。 第二版对C++11、C++14和C++17标准进行了更新,对改进模板或与模板交互的特性进行了解释,包括可变参数模板、泛型Lambda、类模板参数演绎、编译时if、转发引用和用户定义文字。还深入研究了一些基本的语言概念(比如值类别),并包含了所有标准类型特征。 本书从基本概念和相关语言特征开始,其余部分作为参考。先关注语言,再是编码、高级应用程序和复杂的惯用法。过程中,示例清楚地说明了抽象概念,并演示了模板的最佳实践。 #### 关键特性 - 准确理解模板的行为,避免陷阱 - 使用模板编写有效、灵活、可维护的软件 - 掌握有效的习语和技巧 - 保持性能或安全的情况下重用源码 - C++标准库中的泛型编程 - 预览即将发布的“概念"特性 ## 适读人群 如果您是使用C++的开发人员,想要学习或复习模板,请仔细阅读第1部分。即使已经非常熟悉模板,快速浏览这一部分也有助于熟悉本书使用的编程方式和术语。该部分也涵盖了如何组织模板相关代码的内容。 可以按自己喜欢方式学习。第2部分中有模板更多的许多细节信息,也可以在第3部分中阅读实用的编码技术(并参考第2部分了解相关的语言问题)。如果阅读这本书是为了应对开发中的具体问题,那么后一种方法可能有助于问题的解决。 附录包含了许多在正文中经常提到的信息,我们也试图让其变得更有趣。 根据经验,学习新东西的最好方法是看例子。因此,可以在本书中找到大量的例子。有些只是用几行代码解释一个抽象概念,而另一些是具体应用的完整源码。后一种示例将通过注释来说明需要包含程序代码的文件。可以在这本书的网站