阅读须知
本教程假设读者的最低水平为:C + class + STL
。
那么自然而然的,就不可能从一开始就讲的很深入,即使我完全清楚有各种例外和情况,我们需要考虑一个几乎是新人的开发者,对这些繁杂的规则的接受程度。我们要循序渐进。所以我会省略大量的规则和情况。
模板很有用吗?学习模板能带来什么?
显然,模板很有用,作为 C++ 中最大的一类语言特性,几乎自 C++ 诞生以来就开始演变。你可以在几乎所有的 C++ 开源库中看到模板,以及你的 C++ 标准库,几乎全部使用模板。
至于能带来什么?只有成功学大师和一些 xxx 才能明确的告诉你,只能说因人而异。你如果想要学了之后迎娶白富美走向人生巅峰,那还是算了吧 ~~。
可能很多人会有疑问以及各种说法,比如:
我工作基本没写过模板,不需要特意去学这个
的确有一些开发者的工作几乎不使用模板,这些也都很正常(毕竟说自己用 C with class 的也一堆),以及维护上古项目,这里不过多评价。是否学习,完全是看自己的想法,没有人能强迫别人学习。如果你对自己有一定的要求和个人追求,那么模板,非学不可。
- 如果不能熟练使用模板,那么阅读标准库、开源项目、其他三方库的代码,几乎是无稽之谈。
模板是高手用的,很难,普通开发者没必要学
其实说到底,模板也只是 C++ 的一类语法罢了,无非还是一些基本形式,大部分的使用并不会有多少难度,只是某些东西一起使用可能会涉及很多繁杂的规则。
说一个最常见的需求,泛型,难道你不使用 C++ 的模板,还去使用 C 的 void*
去完成泛型?
应该如何学习模板?
多用,用的越多越熟练,没有需求那就给自己创造需求。
最大的需求是什么?阅读标准库代码。
各位完全可以养成一个习惯,不管使用任何的库,有事没事右键点进去看看实现,自然而然的会思考,会有进步,当然了,循序渐进。