C++学习笔记之(一)
admin
2023-02-03 20:44:09
0

从今天开始学习C++,掌握一门编程语言,不管对于后续的语言学习,还是以后工作来说,都受益良多,所以,刻苦钻研,踏实进取。日后必有做为。


Key Point 1:C++的产生

(一)“C语言来源”

    C++来源于C,是C的超集。和C有着很深的渊源,所以介绍C++之前,先来介绍C.

    

    background:早期的程学设计语言,一种机器语言,(Machine Language),一种汇编语言(Assembly Language)。尽管这两种语言具有程序指令可以访问底层硬件,执行效率高的优点。但是它们从可读性、可移植性以及对于问题的描述性能上来说,就远不够了。而且,编码对于程序员来说简直就是中折磨。


    19世纪70年代,“C语言之父”Dennis Richite在贝尔实验室致力于开发Unix OS(Unix的产生这里不做描述)。为此,Ritchie需要一种语言,他必须简洁、高效,能够生成简洁、快速的程序,并能有效地控制硬件。


    传统上,程序员使用汇编语言来满足这些需求,汇编语言依赖于计算机的内部机器语言。But,汇编语言是low-level语言,就是说,他针对特定的计算机处理器。因此,要将汇编语言移植到另一台计算机上,必须使用不同的汇编语言重新编写程序。这就像是,每次购买新车时,都发现设计人员改变了控制系统的位置和功能,客户不得不重新学习驾驶这辆新车。不过,Unix是为在不同的计算机(或平台)上工作而设计的,这就意味着它是一种高级语言。高级语言致力于解决问题,而不是针对特定的硬件。

    

    一种被称为编译器的特殊程序将高级语言翻译成特定计算机的内部语言。这样,就可以通过对每个平台使用不同的编译器来在不同的平台上使用同一个高级程序语言了。


    Ritchie希望能有一种语言,可以既能将低级语言的效率、硬件访问能力和高级语言的通用性、可移植性融合在一起,于是他在旧语言的基础上开发了C语言。


(二)“C++产生”

    C语言的出现取得了长足的发展,从Unix OS中便可以看出。但是随着技术的发展,他也遇到了瓶颈。(看来IT技术出现问题本来就是一种必然的情况,只是这种变化来的快了点罢了)C语言的风格决定了它的缺点。


    一般来说,计算机要处理两个概念:数据和算法。数据是程序使用和处理的信息,而算法是程序使用的方法。C语言是面向过程的语言(procedural language),它强调的是编程的算法方面。从概念上说,过程化编程语言首先要确定计算机采取的操作,然后使用编程语言来实现这些操作。程序命令计算机按照一系列流程生成特定的结果,就像菜谱制定了制作蛋糕的厨师应该遵循的一系列步骤一样。

但随着程序规模的扩大,早期的程序语言(FORTRAN & BASIC)都会遇到组织方面的问题。执行路径很混乱,可读性几乎不可能,而且修改起来一场麻烦。为解决这个问题,计算机科学家开发了一种更有序的编程方法,结构化编程。它将分支限制为一小组行为良好的结构(C中for loop,while loop,do while loop,if else sentence)。另一个原则是采用自顶向下的设计(top-down)。将问题分解为若干的子问题或者子模块,便于管理。


    但是编写大型程序时,仍然面临挑战。为应付这种挑战,OOP提供了一种方法。与过程性编程强调算法不同的是,OOP强调的是数据。OOP让语言来满足问题的要求,而不是过程性编程的那种使问题满足语言的过程性方法。OOP的理念还设计与问题的本质特性相对性的数据格式。


    在C++中,类是一种规范,它描述了新型数据格式,对象就是根据这种规范构造的特定数据结构。类准确表示了程序要处理的东西。从低级组织(类)到高级组织(程序)的处理过程叫做自下而上(bottom-up)的编程。


    基于此,C++产生于20世纪80年代的贝尔实验室,它的开发者是Bjarne Stroustrup("C++之父")。后续的标准化工作为C++的发展和应用范围提供了莫大的帮助。现实也证明了C++是一种功能强大的编程语言。(随着学习的深入逐渐体会它的强大之处)


注:1)Unix OS 日后研究

    2)top-down vs bottom-up

相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...