c++ - 如何成为C++库开发人员?

标签 c++ stl

我想问一下,我应该挖掘哪些领域才能成为C++库开发人员。5年前我开始自学C++,对此我很感兴趣。在工作中,我使用C语言和Ruby,在学校里我主要使用Java和很少的C++,然而,C++是我最喜欢的语言。
我买了很多C++书籍,一遍又一遍地读,这些书是:
有效C++
有效stl
加速C++
C++模板
C++程序设计语言…等
虽然我喜欢读C++模板书,但材料太干了,我觉得很难用。有时我想把它应用到我的项目中,但结果证明它是不必要的,更糟的是变得复杂,而且很难维护。
此外,我发现很难实现像stl这样的库。我能部分理解的最简单的一个是std::vector<>boost::array<>。其他图书馆就像一堆乱七八糟的东西。从我加入这个网站的那天起,我意识到这里有很多C++专家。你们能告诉我如何学习和理解C++核心,以及开发C++库的技能吗?
谢谢,

最佳答案

在C++中学习代码最好(而且是唯一)的方法是弄脏你的手。选择一个你空闲的时间,没有人会打扰你,当你心情非常好的时候,打开visual studio(或者你正在使用的任何东西,xcode,netbeans,或者其他什么),然后直接编写代码。
选择一个想法,并尝试实施它。从小事做起,向世界问好。试着用另一种方式建立一个hello世界,也许用一个向量来存储字母。然后使用向量来存储单词。
只是让你的思想游荡,你的手指做编码。实验。你不会出错的,你会学到比读书多得多的东西。
当你使用一个向量时,你会遇到一个问题,然后说“哦,我希望有其他更快的方法来搜索这个向量中的10万字!”然后你会发现一张地图。也许你会好奇,想知道是否还有比这更好的东西,然后找到哈希表。
很有趣:

关于c++ - 如何成为C++库开发人员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4590768/

相关文章:

C++ 函数返回值作为引用并返回 *this

c++ - 如何混淆代码中的测试以防止篡改响应处理?

c++ - 一组(异构) vector 的 Push_back 实现

c++ - 正确使用 std::unique_ptr 和 std::weak_ptr

c++ - 选择安装的网络浏览器

c++ - 我如何存储和获取结构队列?

c++ - 快速生成随机集,蒙特卡洛模拟

c++ - 为什么 std::find 是这样实现的?

c++ - 解释一下默认的priority_queue::top()的行为?

c++ - 为什么我不能使用函数适配器 compose2?