【教程】C++从入门到精通 第0章 前言

本文解释一下C++的用途和学习它的意义.

如果你需要学习其他部分,请返回顶部并单击菜单栏上的"C++从入门到精通".可以收藏,我会不断更新它们.

原则上开放转载,但禁止用于商业用途,转载必须注明地址.

为什么要学习C++?

如果有一款编程语言能够胜任C++,那么当然会取代C++.但是,时在当下,这款语言还没有出现,因此仍然是电脑编程的不二之选.同时,C++也是目前执行效率最高的语言.所以,你想接触编程,那么推荐学习C++.

发展历程

C++语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。 这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库 (STL)和后来的Boost等程式库的出现, 泛型程式设计在C++中占据了越来越多的比重性。 当然,同时由于Java 、 C#等语言的出现和硬体价格的大规模下降,C++受到了一定的冲击;第三阶段从2000年至今,由于以Loki 、 MPL(Boost)等程式库为代表的产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C++已经成为当今主流程式设计语言中最复杂的一员。当前的已经发展到C++20(2018/02/18更新).

C++和C语言

C++ 读作”C加加“,是”C Plus Plus“的简称。顾名思义,C++是在C的基础上增加新特性,玩出了新花样,所以叫”C Plus Plus“,就像 iPhone 6S 和 iPhone 6、Win10 和 Win7 的关系。

C语言是1972年由美国贝尔实验室研制成功的,在当时算是高级语言,它的很多新特性都让汇编程序员羡慕不已,就像今天的Go语言,刚出生就受到追捧。C语言也是”时髦“的语言,后来的很多软件都用C语言开发,包括 Windows、Linux 等。

但是随着计算机性能的飞速提高,硬件配置与几十年前已有天壤之别,软件规模也不断增大,很多软件的体积都超过 1G,例如 PhotoShop、Visual Studio 等,用C语言开发这些软件就显得非常吃力了,这时候C++就应运而生了。

C++ 主要在C语言的基础上增加了面向对象和泛型的机制,提高了开发效率,以适用于大中型软件的编写。

二者关系

早期并没有”C++“这个名字,而是叫做”带类的C“。”带类的C“是作为C语言的一个扩展和补充出现的,目的是提高开发效率,如果你有Java Web开发经验,那么你可以将它们的关系与 Java 和 JSP 的关系类比。

这个时期的C++非常粗糙,仅支持简单的面向对象编程,也没有自己的编译器,而是通过一个预处理程序(名字叫 cfront),先将C++代码”翻译“为C语言代码,再通过C语言编译器合成最终的程序。

随着C++的流行,它的语法也越来越强大,已经能够很完善的支持面向对象编程和泛型编程。但是一直也没有诞生出新的C++编译器,而是对原来C编译器不断扩展,让它支持C++的新特性,所以我们通常称为C/C++编译器,因为它同时支持C和C++,例如 Windows 下的微软编译器(cl.exe),Linux 下的 GCC 编译器。

也就是说,你写的C、C++代码都会通过一个编译器来编译,很难说C++是一门独立的语言,还是对C的扩展。

C语言和C++的关系如下图所示.

从“学院派”的角度来说,C++支持面向过程编程、面向对象编程和泛型编程,而C语言仅支持面向过程编程。就面向过程编程而言,C++和C几乎是一样的,所以学习了C语言,也就学习了C++的一半,不需要从头再来。

我想说的一些话

由于近期要参加编程比赛,所以老师要手把手教我们学习(其实报名的时候我以为可以自由使用编程软件,如e语言呢),既然已经选择来了,那么就从0开始吧~我把老师讲的都整理出来,大约每天25分钟,如果你有兴趣,可以参与进来,一同学习,一同交流!

提示 教程几乎全都是干货,请注意;C++比较难学,一定要坚持下来.

一些资料参考维基百科,源链接在这儿:点我(谷歌翻译,原来是繁体,需要科学上网)

本文原地址为 http://www.homes.16mb.com/Blog/?p=156

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注