(一)为什么要选择C++

发布时间:2024年01月05日

如果要说C++的优点,大部分人可能会说C++ 跨平台,性能好,如果要说C++缺点那估计很多人可以说出一大堆。

  • 没有官方包管理工具
  • 没有官方构建工具,虽然cmake 横空出世,有一统江湖的趋势,但是很多项目还是没有cmake支持
  • 内存问题防不胜防,生命周期异常,野指针访问
  • ABI 不兼容
  • 多线程问题
  • 语法复杂,细节太多,入门门槛太高

确实C++ 有很多需要改进的点,相比其他高级语言真的过于复杂。 甚至还有专门针对C++ 的调侃,“C++从入门到放弃”
。那为什么还有这么多项目要选择使用C/C++呢?我从我的经历来说说为什么要选择C++

语言基因

每个公司都有自己的技术偏好,就像我厂客户端开发,很多都使用C++,一个成功的产品可以培养很多有技术的程序员,这些程序员又去开发新产品,自然也会用自己最熟悉擅长的语言,逐渐的这门语言在这个公司就会变得更受欢迎。并且相应的基础设施和基础库也会逐渐完善建立起来。

跨平台

我厂的很多产品都是多平台的,即使放弃桌面端也需要同时支持安卓和iOS。因此项目中使用的基础库通常会考虑使用C++进行开发,这样可以节省人力资源,并编写一份代码以供多个平台编译。此外,C++开发底层库的运行效率也不会有问题。

开源社区活跃

GitHub上有许多C/C++项目,几乎可以找到各种轮子(即开源库)。例如,boost、openssl和sqlite等基础设施都有开源实现。这些开源项目为开发者提供了丰富的资源和解决方案。

CMake 统一构建工具

虽然C++委员会没有提供官方的构建工具,横空出世的CMake 有一统江湖的趋势,而且 boost 库现在都支持CMake 构建了。CMake 支持各个平台。GitHub 上很多不支持CMake的项目也会逐渐的针对CMake的支持

C++ 自身发展

C++一直在不断进步,努力解决开发者面临的各种问题。虽然脚步走得慢,但是C++ 没有放弃。从11版本开始就被称为 “现代C++”,到现在的稳定版本C++17以及实验版本C++20,引入了许多新特性。当然这也带来了更多的学习成本。

后面会分享一些实际项目中遇到的设计问题

文章来源:https://blog.csdn.net/wanliaixie/article/details/135258297
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。