栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

为什么要学习c++

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么要学习c++

  • 前言

        今天是2021/10/31日,前面历时8个月的时间终于把朱友鹏老师的嵌入式linux核心课程学习完了,今天也正式进入c++课程。此刻我心存犹豫,因为linux核心课程我虽然学完了,但是缺乏实际项目练习,所以整个课程掌握得并不牢靠,前面很多的课程内容甚至都已经忘了,犹豫的是该继续做几个项目来巩固前面的课程还是继续往前走,学习c++。综合考虑,我目前的首要目标是转型软件开发,对当前的硬件开发工作已经心不在焉,所以我觉得还是应该快刀斩乱麻,尽快转向自己想做的事情,以改变现在的工作状态,这是对公司的负责,也是对自己的职业前景负责,毕竟没有好的工作状态,是不可能做出成绩的,绝不允许自己浑浑噩噩混日子,所以我现在要做的就是快速转向软件部门,从事软件开发工作,我们公司目前的软件岗位需求是使用使用c++和qt进行应用设计,反而对嵌入式linux的要求没有那么高,所以我考虑的是先去把c++和qt学完,整个学习不一定要掌握的非常牢固,只要对全局知识有一个框架,遇到不清晰的知识,能通过查询快速明了,顺利进行工作即可,待转岗后在工作的过程中再深入研究,就像以前的c语言的学习过程一样,所以我决定继续往前走,开始c++之路。

  • c++的由来

        c++最早叫带类的c,初期只是在c的基础上扩展了class等少量特性,因为需求的复杂程度增加,随之对c++新增了一系列的特性和语法,导致如今的c++在语法和语法特性都多了很多,也复杂了很多,所以用好c++比c更难。c++的出现也并不是c推动的,而是硬件性能的提升和需求日益变复杂而推动的。

  • c++为不能淘汰c

        首先我们要知道c++的发展并不是为了来取代c,c++也并不是更好的c,而是c系的另外一种语言,同时c++也配套了很多周边的生态,例如c++库,c虽然也有一些库,但c++的库相较于c来说多了很多。c和c++他们都有指针,都适合对硬件进行操作,类似的java就不合适。c能一直存在,首先是c有大量的开发者,具有历史优势,其次c的编译效率比c++更高,类似于操作系统这类对性能要求高的大型程序,为了性能都使用了c, c在很多场景已经够用,没有必要使用c++杀鸡焉用牛刀,如单片机开发,c足以。c更适合做小规模的控制型程序,例如单片机等,而c++更适合大规模结构逻辑复杂的程序。

  • c++到底是什么

        c++是一门面向对象的语言,面向对象在c++中的重量级就类似于指针在c中的重量级。与c最大的不同也是面向对象的问题。c++并非纯面向对象的语言,他也有很多东西不是面向对象的,如c++兼容c的全部特性,c的语法、特性等在c++全部都管用。

        c和c++都是编译性语言,最终得到的可执行文件都与编译的平台架构有关,跨平台不能工作。c与c++在编程风格上类似,但也不同,其中典型的如后缀名就不同,c的后缀也就.c.和.h,而c++的扩展名较多。

        有一句话说难度守恒定律,语言越难,用该语言去解决问题时反而简单,语言越简单,去解决相同问题时反而更难。因为c++难,所以c++比c更适合做复杂的项目,与其它同类语言相比,c和c++没有GC(内存自动回收)机制,自己申请的内存用完后自己释放。因此c++的学习难度比java更大,使用时也更容易出错。总的来说,c++适合高手使用在强调性能的复杂项目中。

  • c++的应用场景

         类似于qt、opencv、directx、offce等重量级的软件都是使用的c++来开发的。实际上c++更适合用来做后台业务逻辑,而不是前台界面,如在qt中都是后台和前台界面都是分离的。主要就是想实现不同的语言来开发应用的后台和前台。而当下c++最有优势的领域有视觉和AI分析,游戏和图像引擎、网络服务引擎等。

  • c++程序员发展前景

        c++学习难度大,通过率低,只要是使用c++编程,无论做那个方向, c++程序员的工资一般都不低,相较与其它语言c++的程序员生命周期更长,不易出现中年危机,因为c++开发对内功的要求比较高,很多学习c++的人根本都入不了门,被淘汰。当然c++的岗位需求相较与java和python也小很多,但是这个行业一直稀缺高手。

        正如课程老师所述,语言没有好坏之分,只有适合与不适合,能存活下来的语言必有他过人之处,所以不好一棍子打死,评论好坏。c++其实适合资源较为丰富的富客户端,如手机、中控屏等,c则更适合瘦客户端,如单片机等,云端因为资源更丰富基本上不在乎效率只在乎开发难度,则更适合用java、python。html等编程语言。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/396083.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号