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

如果要说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,引入了许多新特性。当然这也带来了更多的学习成本。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/294901.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云大模型「让照片跳舞」刷屏朋友圈,有哪些信息值得关注?

介绍 大家好,我分享聊聊阿里通义千问APP中全民舞王功能。 网络热舞结合AI视频,这是以后不用学习跳舞? 可以尝试下效果,一张图片生成视频。 APP快速使用 搜索下载通义千问APP 打开APP,选中一张照片来跳舞。 这里…

css单位介绍

当我们在编写网页或应用程序时,选择合适的单位来描述元素的尺寸是非常重要的。在CSS中,我们常常会使用像素(px)、相对像素(rpx)、字号单位(em)、根元素字号单位(rem)、百分比(%)和视口百分比(vh、vw)等单位来描述元素的大小。 像素(px)是最常见的单位&a…

Unity中Shader序列帧动画(U、V方向的走格)

文章目录 前言一、U方向的走格1、 要实现移动的效果,我们就会想到使用_Time2、使用floor向下取整3、把x、y缩小为原函数的 Column倍4、使用_Sequence的z控制帧动画U方向上的速度 二、U方向的走格三、最终效果1、亚丝娜2、小蓝帽3、火4、最终代码 前言 在上一篇文章…

没有一家车企能绕开「数据闭环」

作者 |张祥威 编辑 |德新 2023年,在比亚迪那次公布智驾数据规模后,智能化下半场的战斗就正式打响了。 如今,自动驾驶正在沿着特斯拉提出的「BEVTransformer」急速推进,这条技术路线短短几年就得到了验证,随着智驾起较…

软件测试|弄懂GROUP BY看这一篇文章就够了

简介 在SQL(结构化查询语言)中,GROUP BY子句是一个强大的工具,用于对查询结果进行分组和聚合操作。通过使用GROUP BY子句,可以根据指定的列或表达式对数据进行分组,并对每个分组应用聚合函数,从…

VSCode安装 PlatformIO 插件指南

公众号阅读: 前言 在前几次发的文章中多次提到PlatformIO这个VSCode插件,很多同学私信我说非常难安装,希望我继续分享如何在国内快速安装PlatformIO。其实PlatformIO官网提供了详细的安装文档和PIO的使用手册。大家可以参考官网文档。本文将…

第十课:计算机心理学、教育科技及奇点,天网,计算机的未来

第十课:计算机心理学、教育科技及奇点,天网,计算机的未来 第三十八章:计算机心理学0、计算机中用到的心理学原理1、易用度2、颜色强度排序和颜色排序3、分组更好记4、直观功能5、认出VS回想6、让机器有一定的情商以及Facebook的研…

案例094:基于微信小程序的图书馆自习室座位预约管理系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

Unraid APP下载慢解决方法

1.首先你的APP商城能够打开 这里我已下载Jellyfin为例 使用APP查找镜像,是为了获取下面的配置模板 2.修改地址 默认的地址是 lscr.io/linuxserver/jellyfin服务器在国外,被墙了.下载具慢 我们需要把这个下载源修改成国内的 有很多国内的源,但是我觉得阿里的比较快 3.获…

低代码UI构件程序设计基础实训一

步骤一 低代码在线调试工具 网址 低代码在线调试工具 步骤二 D盘建一个文件夹,文件夹下建两个文件夹ico和js 网上找一些图片,后缀.png,编号从0开始,图片另存到ico文件夹下 下载(右键另存为)以下四个页面…

discard long time none received connection

使用DruidDataSource 做数据源时,如果创建的连接在长时间得不到调用后会报如题所示的错误 discard long time none received connection. ,jdbcUrl : jdbc:mysql://localhost:3306/test?autoReconnecttrue&useUnicodetrue&characterEncodingutf8&serverTimezoneC…

C语言编译器(C语言编程软件)完全攻略(第三部分:Windows下的编译器有哪些?如何选择?)

介绍常用C语言编译器的安装、配置和使用。 三、Windows下的编译器有哪些?如何选择? 安装编译器或者 IDE(集成开发环境),也叫搭建开发环境。Windows 下的C语言 IDE 众多,多如牛毛,初学者往往不…

信号强度功能 界面、逻辑和图标(免费)

信号强度 需求 vue项目,需要实时监控系统信号,要求: 1.共五格信号; 2.信号0-100为满值,信号100-500为四格,信号500-1000为三格,信号1000-5000为两格,信号5000-20000为一格&#x…

Python学习笔记(五)函数、异常处理

目录 函数 函数的参数与传递方式 异常处理 函数 函数是将代码封装起来,实现代码复用的目的 函数的命名规则——同变量命名规则: 不能中文、数字不能开头、不能使用空格、不能使用关键字 #最简单的定义函数 user_list[] def fun(): #定义一个函数&…

微软 Power Platform 使用Power Automate发送邮件以Dataverse作为数据源的附件File Column

微软Power Platform使用Power Automate发送邮件添加Power Apps以Dataverse作为数据源的附件File Column方式 目录 微软Power Platform使用Power Automate发送邮件添加Power Apps以Dataverse作为数据源的附件File Column方式1、需求背景介绍2、附件列File Column介绍3、如何在Po…

华焰天下隆重推出华火智能电燃灶产品,引领绿色科技新潮流!

近日,以“慧聚英雄南昌,论道策划科技——畅展华焰未来,迈向财富新时代”为主题的华火新能源产品发布会于江西南昌盛大举办。 各级领导、全国各地的企业家、家电行业优秀从业者、新能源应用领域专家、策划行业名人大咖及广大媒体朋友莅临活动…

小心JDK20 ZipOutputStream

Oracle 團隊竟然這麽粗心,編譯JDK 20 時ZipOutputStream沒有編譯成功就發佈了。 所以這個20版本不可以使用ZipOutputStream。 GZIPInputStream 只能做最後的壓縮,不能添加多個附件ZipEntry。 下一個版本21不存在這個問題。 try(var zipOut new ZipOu…

LabVIEW开发智能水泵监测系统

LabVIEW开发智能水泵监测系统 水泵作为水利、石化、农业等领域的重要设备,其能效与健康状态直接关系到提灌泵站的运行效率。尽管水泵机组在全球能源消耗中占有显著比例,但实际运行效率常因设备老化和维护不当而远低于预期。这一状况需要更高效的监测手段…
最新文章