时间:2022-10-09 18:02:14 | 浏览:1248
1、从C到C++
计算机诞生初期,用机器语言或汇编语言编写程序;
第一种高级语言FORTRAN诞生于1954年;
BASIC语言(1964)是由FORTRAN语言的简化而成的是为初学者设计的小型高级语言;
C语言是1972年由美国贝尔实验室的 D.M.Ritchie 研制成功的。它是为计算机专业人员设计的;
大多数系统软件和许多应用软件都是用C语言编写的。随着软件规模的增大,用C语言编写程序渐渐吃力了,于是便创造出了C++语言。
2、C++的特点
C++是由 AT&T Bell实验室 于20世纪80年代初在C语言的基础上成功开发出来的。C++保留了C语言原有的所有优点,并增加了面向对象的机制。
C++是由C语言发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C++。从C++的名字可以看出它是C的超集。C++既可用于面向过程的程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型程序设计语言。
备注:C++不是纯面向对象语言。
3、C++是对C语言的“增强”
(1) 在原来面向过程机制的基础上,对C语言的功能做了很多扩充。
(2) 增加了面向对象的机制。
面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途互为补充的。小编推荐一个学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++程序设计》,这也充分体现了C语言和C++的关系。
说到谭浩强老师我这里要说一说了。国内很多读者对谭浩强老师褒贬不一。但我个人确实是比较推崇谭浩强老师的书,大学时候就是用他的书籍入门的。有很多人说他的书籍有错误,讲解的不好。我要说这个错误不怪他,《C语言程序设计》第一版刚出来的时候,系统还是Win98,16位的,所以相关一些类型占用的字节数等等,跟我们现在使用的x86或者x64根本不一样,所以才出现了网友口中的错误。不过《C语言程序设计》、《C++程序设计》 等谭浩强老师的书籍后续都有新版本,所以大家也不要总拿第一版或者老版本来说事儿。
4、用途:C语言和C++都能做什么呢?
C语言:操作系统底层、系统驱动、单片机、嵌入式方面 等等;
C++:网络游戏开发、音视频技术、Socket网络通信,另外,苹果/谷歌/微软 等大型软硬件公司的系统或者软件上面都支持C/C++语言的集成开发。
你常用的软件大多数都是C++写的,例如:Office软件:MS Office,WPS Office,OpenOffice/LibreOffice,你所用的Windows也用了大量的C++,你说你在用C#和SQL,那我告诉你你用的 VS IDE 核心部分是C++写的,你用的C#,C# 的.Net执行框架也是C++写的,你用的Sql数据库,是Sql Server吧?很不幸,Sql Server也是cpp写的、你上网页在用浏览器吗?很不幸,浏览器内核都是C++写的,界面大多数浏览器界面也是C++写的,你聊天用的 QQ、YY、Skype 等也是C++写的。这些都是你绝对有在用的,至于其他,还有很多,杀毒软件、PhotoShop、Maya,N多行业软件,几乎所有的端游 等等,都是C++写的。你问我C++能做什么实际的东西,我告诉你什么也做不了,你信吗?哈哈
C++ 的几个常见的发展方向:客户端,游戏,服务端,嵌入式,移动端(移动只要是跨平台的移动端用C++写通用部分,GUI可以用平台特性,也可以用C++的跨平台框架)
针对界面UI方面C++的选择也是很多的,其实C++还是擅长“内功”的方面。如果你想带个GUI界面的话,也有很多类似Qt之类的框架和界面库可以使用,网上有很多,而且很多都跨平台,还开源,不管是 Windows,还是Mac,还是Linux,还是移动端平台,通吃的。本身C/C++就是跨平台的。
另外,说点大家感兴趣的,什么远程控制软件,什么木马,什么外挂等等,可以说95%以上都是用C/C++来写的。
难道这么多的用途还不值得大家来好好学学C/C++吗?
另外,闻道有先后、术业有专攻,C++虽然功能很强大,几乎什么都能做,但有的地方也是不适合,不是不能做而是不适合。比如网页开发,C++也能做,但是还是建议使用Java-Web或者PHP之类的语言来做,毕竟他们就是为了Web开发而生的。
---------------------
作者:键盘舞蹈者
来源:CSDN
原文:
https://blog.csdn.net/qq_42627619/article/details/90647651
作者|TheBigPicture数据支持|勾股大数据(wwwgogudatacom)Bumble现有的三款App“爱情是两个不同的身体里住着同一个灵魂”——亚里士多德09-17年相识和约会方式变化来源:MichaelJ
top通过监督学习训练压缩模型,选择性地减少图像中的颜色数,在不影响原有分辨率的情况下,对图像文件大小进行充分优化,自动平衡文件体积和图像质量,肉眼几乎看不出与原图的差异。top,有图片的含义,IMG是图片的英文缩写,除此以外img格式还是图像文件的一种格式,它具有很高的压缩效率,因此无论是从含义上还是内涵上,img
live杜绝了盗版的可能,最大限度的保护了创作者的权益,这也帮助其成为区块链上最大的直播平台。IdentityDigital拥有近300个域名组合,例如:IdentityDigital拥有近300个域名组合,例如:
渗透性测试是什么,就是模拟黑客攻击对业务系统进行安全性测试,比黑客更早发现可导致企业数据泄露、资产受损、数据被篡改等漏洞,并协助企业进行修复。渗透性测试的流程一般是:漏洞挖掘—修复建议—回归测试。安全性漏洞挖掘
新京报贝壳财经讯(记者 许诺)11月2日,在中国移动全球合作伙伴大会产品创新融合发布会上,中国移动咪咕公司总经理刘昕在演讲中发布了元宇宙MIGU演进路线图,并表示,咪咕将继续聚焦超高清视频、视频彩铃、云游戏、云VR、云AR五大方向,投入更多
统信 UOS 家庭版 21.3.1 版本新增升级动态,用户可在等待系统更新的时间里感受中华诗词之美。▲ 图自统信软件,下同同时,平行世界新增支持哔哩哔哩。IT之家 7 月 28 日消息,今日,统信 UOS 家庭版 21.3.1 新版正式发布。
图片来源@视觉中国文 | 巨潮WAVE,作者|老鱼儿,编辑 | 王方玉无人机近期受到了越来越多的关注。和很多产品不同的是,并非是因为什么新款发布或者配置升级,而是因为在乌克兰上空成批飞翔,用作监控和拍摄使用,成了正经上了战场的“军工产品”。
什么是无人机无人驾驶飞机,简称“无人机”,英文缩写:“UAV”。是利用无线电遥控设备和自备的程序控制装置操纵的不载人飞机,或者由车载计算机完全地或间歇地自主地操作。无人机与载人飞机相比,无人机能够执行更危险的任务。
杨净发自凹非寺量子位报道|公众号QbitAI中国农业无人机第一股,现在开启IPO进程。极飞科技,由微软前技术人员彭斌创立,主打以无人机为出发点的智慧农业解决方案。本周一(11月22日),科创板IPO申请获上交所受理。
相比消费级无人机主要聚焦在生活娱乐场景,有更丰富和庞大使用场景的工业级无人机市场已经悄然崛起。根据第三方机构Frost。