作为C++开发者,我认为这本书是必读的(前提是必须知道STL容器的使用方法和常用的算法)。除了有感情地朗读以外,主要要了解以下知识点:
如果一上来就看书,可能比较吃力,一方面,正如这本书所提及的,需要C++基础。另一方面,stl涉及模板、萃取等C++的"奇淫技巧",还涉及算法的实现,比较复杂。所以我强烈推荐结合侯捷大师的视频:STL与泛型编程(B站竟然没有了。。。),侯捷大师结合源码,入木三分地讲解,令人印象深刻。跟大师学习,思维会提升一个层次!
最后是应用,我推荐两种: 一是自己尝试编码实现一些简单的容器,比如array,list,allocator。这些我也自己尝试过,看似简单,实现起来才发现简单的容器门道也挺多。不过总体来说过程很有趣。据说每个C++程序员都会自己实现一套stl,github上的确有很多个人版本的stl,看来我还不算,哈哈哈
二是leetcode刷题,很多题目都会用到容器,除开最常用的vector,可以针对性的训练比如哈希表、map标签的题目,会加深对stl容器的理解。有的题目甚至考察到了各类容器的性能,比如高频考题LRU的实现。
结合我最近的工作,除开vector,为了查找效率unordered_set和unordered_map我会优先考虑。代码里常常把STL、lambda、算法和C++11/14特性结合在一起。
有时候常常感觉功力还不够,时刻都要学习和实践才行鸭!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有