C++ 的前 3 个开源项目 [2022 年初学者尝试]
已发表: 2021-01-02无论是 Google Chrome、Adobe Photoshop 等科技巨头。 YouTube 甚至像 Doom 3 这样的游戏,甚至像 Bloomberg 交易这样的交易网站,它们之间的共同链接是使用流行的 C++ 语言。 C++在C语言中附加了后自增运算符,熟悉后自增运算符的人都知道,C++应该比C领先一步。
是的,这是真的。 C++ 实际上是仿照 C 语言创建的,它的唯一目的是为已经非常通用的 C 语言增加更多深度。C++ 负责将图形和面向对象的模型添加到 C 语言中,这两者对于今天的开发者来说都非常重要。
我们很难想象没有图形用户界面或图形用户界面,或者没有如此准确地描绘现实世界的类和对象。 由于 C++ 对 C 的添加,它允许 C++ 在 C 传统上不用于的事情中有用,例如 Web 和基于 Web 的应用程序的开发。
既然我们得到了对象,我们也得到了 OOPS 或(面向对象的编程概念)。 这意味着,如果您决定使用 C++,您将能够在您的项目中使用多态、抽象、封装和继承。 由于所有这些优点,C++ 已经发展成为最好的脚本语言之一。 我们无法想象没有 C++ 的世界。
然而,即使 C++ 具有所有明显的优势,它仍然被 Java 和 Python 等语言所掩盖。 主要是因为使用 C++ 进行编码比使用 Python 等语言要困难得多。 这是因为 Python 具有简单的结构。
您不必担心动态内存分配和使用后的内存清理等问题。 如果您要使用 C++,则必须通过手动编码功能来确保不会浪费内存。 这也许就是为什么某些 C++ 是一种非常古老且具有挑战性的语言的原因。

但是,如果没有 C++,即使 Python 也不会是 Python。 由于 C++ 的速度,它在许多 python 库中被用作包装器。 还有,C++,因为它很老,它有一个很棒的社区。 更不用说大量的预先编写的代码库了。 如果您想使用 C++ 开发项目,那么如果您熟悉该语言,您就不会因为任何事情而被盯上。
加入来自世界顶级大学的最佳 AI 和 ML在线课程——硕士、高级管理人员研究生课程和 ML 和 AI 高级证书课程,以加快您的职业生涯。
根据我们的经验,我们已经看到 C++ 是任何软件工程师的必备工具,我们发现帮助大多数人学习该语言的最佳方式是通过项目。 你也可以写一个。 通常可以看出,您完成的任务越多,您对语言的掌握就越好。 此外,项目会引发更多的实践学习,这在您过渡到企业界时总是一个加分项。
为了尽我们所能提供帮助,我们列出了一些最好的 C++ 开源项目。 我们之所以选择 GitHub 中的 C++ 项目,是因为 GitHub 必须是开发人员的最佳平台,主要是因为它允许每个人聚在一起解决问题。 此外,GitHub 上的每个代码行都在 MIT 许可下,这意味着您可以在自己的项目中使用它们而不会产生太大影响。
因此,事不宜迟,让我们进入 Github 上 C++ 和 C++ 项目的最佳开源项目。
阅读: Python 开源项目理念
目录
GitHub 中的顶级 C++ 开源项目
1.点击屋
它是一个开源的、源代码的数据库管理系统。 它允许在数据到来时生成数据报告(即实时)。 当你偶然发现这个 repo 时,你会受到一个干净的自述文件的欢迎。
您将在本自述文件中看到此 repo 必须提供的所有内容。 至于信息,您必须访问他们在自述文件中包含的外部链接。 他们甚至有一个 YouTube 频道,这应该有助于消除您对这个 repo 可能有的任何疑虑。 还有一个即将举行的活动部分。
在本节中,您将获得近期即将举行的所有活动的列表,如果您愿意,可以加入。 如果你正在考虑使用这个数据库管理系统,那么我们建议你等待,因为这个 GitHub 页面上有超过一千三百个问题。
然而,在分裂方面,如果你真的想贡献,那么你会非常喜欢这个项目,因为你会遇到一些你可以贡献的重大问题。 还有超过 200 个拉取请求。 这意味着已经完成了大量的工作。
您还可以查看这些 Pull 请求,看看哪些是好的,并在为这个项目做出贡献时尝试模仿它们。 关于这个项目的另一件事要注意的是,这个项目有超过一万三千颗星星。 这意味着有很多人对这个项目感兴趣。

另请阅读: Python AI 和 ML 开源项目
2.谷歌测试
GoogleTest 是 Google 的 C++ 测试框架。 该项目所在的仓库是之前的两个。 是的,当前版本的 Google Test 是其中合并了 Google Mock 项目的版本。 谷歌表示,这两个项目密切相关,因此为这两个项目拥有两个不同的存储库和代码库已成为一项徒劳的任务。
在此 repo 的自述文件中,您将找到有关 Github 上这些 C++ 项目的所有必要信息。 您将获得该平台适合运行的所有功能和所有平台的列表。 您还可以在上述自述文件中找到与该项目密切相关的开源项目。
如果您正在考虑在自己的系统中运行此测试平台,您还将获得所有需要的列表。 如果你愿意为这个项目做出贡献,你可以在自述文件中链接的贡献.md 中找到所有需要的信息。
目前在这个 repo 中打开了大约 124 个问题。 意思是,当你在这个 repo 上工作时,你有很多选择。 还有大约 22 个拉取请求,这意味着人们正在为这个项目做出贡献。 Google Test 也有超过一千颗星,这意味着有很多人想以敏锐的眼光观看这个项目的发展。
3.RapidJSON
那些喜欢在手机上玩游戏并且玩过《使命召唤》或《PUBG Mobile》这两种游戏的人会很清楚这个 RapidJSON 项目的发行商。 是的,这个项目是腾讯对开源的贡献。 在完成这个项目时,我们发现了一些显着的特点。
有一次,这个项目可能看起来很小,但它检查了所有内容,因为它同时支持 SAX 和 DOM 样式 API。 SAX 的解析器大约有半千行代码。 RapidJSON 在其名称中具有 Rapid 名称是有原因的。 这个框架很快就傻了,你可以将整个框架的性能与一个简单的 strlen() 函数进行比较。
它也是独立的且仅包含标头,这意味着如果您打算使用它,则不需要任何其他外部库(甚至是 boost)。 它对内存也非常友好。 JSON 大约需要 16 个字节(或 32 个字节,具体取决于系统),因此这意味着它将占用更少的内存。 不仅如此,RapidJSON 还加载了快速内存分配和解析工具。
它也是 UNICODE 友好的。 还有许多其他功能,我们无法在此列表中提及,但它们绝对值得一试。 您可以通过他们在自述文件中提供的链接来做到这一点。 谈到自述文件,您将在自述文件中找到您需要了解的有关 RapidJSON 的所有信息。
这是更好的自述文件之一,您不需要任何外部支持。 本自述文件中目前有大约 428 个问题。 这意味着任何人都有很大的机会做出贡献。

还有大约半个世纪的 Pull Requests,在 repo 上看到这总是一件好事。 还有大约一万颗星星。 这意味着有很多人对这个项目感兴趣,并希望密切关注它以及它的发展方式。
热门阅读: Github 中的热门开源存储库
结论
开源软件在许多方面彻底改变了计算机科学。 现在,它是一个由充满活力的开发人员社区提供支持的领域,他们致力于自己的激情项目,同时以自己的技能谋生。 开源项目推动许多人从初学者到专家级别的知识和技能。 这些对于任何有抱负的程序员的成长都至关重要。
仅 GitHub 就是一个宝库,可供有希望的编程人员开始他们的职业生涯。 对于初学者来说,这是与同龄人一起工作并在您贡献时学习的最佳平台。 有专门为初学者准备的项目,也有大量的高级想法库,允许新手加入。 明智地利用这些机会随着您的成长而学习,并磨练您作为开发人员的技能。
如果您对掌握机器学习和 AI 感到好奇,请通过 IIIT-B 和利物浦约翰摩尔斯大学的机器学习和 AI 理学硕士来提升您的职业生涯。
为什么我们应该将 C++ 用于开源项目?
由于其速度,C++ 在许多 Python 模块中被用作包装器。 由于年代久远,C++ 也拥有强大的社区。 不要忘记大量现成的代码库。 如果您使用 C++ 并希望使用它来构建项目,那么您将毫无阻碍。 如果没有 GUI(图形用户界面)或忠实代表现实世界的类和对象,我们几乎无法理解一个世界。 由于对 C 的这一补充,C++ 在 C 传统上未被充分利用的领域中受益匪浅,例如 Web 和基于 Web 的应用程序开发。
什么是开源?
在许可许可下,开源适用于与公众共享以查看、使用、更改和分发的源代码。 无论您是自由职业者、公司、本地企业、非营利组织还是政府机构,开源代码通常符合您的最佳利益。 开源项目是学习、教授、分享和获得专业知识的好方法。 您应该为开源项目做出贡献的原因有很多,包括希望改进您每天使用的软件、希望在需要时找到一位导师、学习新技能的渴望、渴望分享您的技能,渴望更深入地了解您使用的软件,等等。
如何为开源做贡献?
您不必提交代码库来帮助开源项目。 有许多方法可以为开源做出贡献。 要详细说明特定点,您可以在项目的文档中添加注释。 在单个项目上,您可以提供方向。 为了演示代码的工作原理,您可以包含示例。 对于该项目,您可以创建教程。 您可以自愿通过指导其他贡献者来帮助他们。 可以纠正错别字,并且可以正确组织项目的工作文件夹。