坚持原创输出,点击蓝字关注我吧
目录
- 一、C++编程简介
-
- 二、目标
-
- 2.Object Oriented(面向对象)
- 三、C++ 的历史
- 四、C++ 演化
-
- 2.学习 C++,可以分为语言的部分和标准库的部分
- 五、必看书籍
一、C++编程简介
面向对象是种观念,我们用这种观念来写程序。需要面向对象的语言,而 c++就是支持面向对象观念的一种语言。
学习 C++,需具备的基础:
- 曾经学过某种 procedural language(过程式语言),最好是 c 语言,其它语言也可以。
- 变量
- 类型:int,float,char,struct…
- 作用域
- 循环:while,for
- 流程控制:if-else,switch-case
- 知道一个程序需要编译、连结才能被执行。
- 知道如何编译和连结(如何建立一个可进行程序)
c++语言是建构在 c 之上的,所以一些术语或者关键词会跟 c 有关。所以和过程式语言很多方面是共通的。如果学过 c,学 c++会更快。
二、目标
1.单一 Class 的设计,叫做 Object Based(基于对象)。
- 以良好的方式编写 c++ class
c++代码里面最重要的每一个单元,就是一个 class。
class 有 2 个很经典的分类:
-
- -Complex
- class with pointer members
-String
一种 class 带 pointer,一种不带 pointer。这 2 中在设计上,思考上截然不同。
2.Object Oriented(面向对象)。
如果写好几个 class,彼此之间有某种关联的话,就可以说是面向对象。
- 继承(inheritance)
- 复合(composition)
- 委托(delegation)
首先要培养单一 class 好的习惯写法。然后可以扩大好几个 class,好几个类彼此之间有什么样的关系。
三、C++ 的历史
- B 语言(1969)
- C 语言(1972)
- C++语言(1983)
(new C->C with Class->C++) - Java 语言
- C#语言
好像没有 A 语言。早期不叫做 c++,叫做 C with Class。从名字可以看出,以 c 语言为基础,并且带有 class。class 是学习的重点。
面向对象语言不止只有 c++,c++是第一个大规模的被世界所接受的语言。后面有 Java 语言、c#以及其它的语言。
这些语言的精神都一样,关键字也都差不多。所以学了一种语言,也可以了解了另外的 2-3 种语言了,当然它的细节会有所不同。
四、C++ 演化
1.这个语言有这些版本:
- C++ 98(1.0)真正正规化,变成有国际规范的。
- C++ 03(TR1,Technical Report 1)这中间还有些小的版本,2003 年有个小版本叫做 TR1,Technical Report 1。
- C++ 11(2.0) 2011 年才出现 2.0。
- C++ 14 2014 年又有个小版本。
不必在乎版本,大部分程序员用的是 C++ 98。
C++ 11(2.0)这个版本出现了很多新的关键字,很多新的概念,在标准库上也出现了很多新的工具,新的东西给大家用。使用新特性的人不是太多。
候捷老师教的是一些根本的东西,从 c++ 98 就有了。以上,这个语言在正规化的发展上有这些进程。
2.学习 C++,可以分为语言的部分和标准库的部分:
现在学任何一个语言,都要把这 2 个分开来。在早期 c 的时代,大家关注的是语言的部分,当然也脱离不了标准库的部分,c 也有标准库。
现在的语言越来越复杂,所以它们的标准库给大家的东西也是越来越多。
使用标准库也是非常重要的事情。现在主要谈语言,用到标准库,只有最简单的一些东西的输出。事实上标准库是非常庞大,非常有用的。
如果一个 c++程序员不怎么用标准库的话,不能算是一个合格的好的 c++程序员,不能算是有生产力的 c++程序员。
五、必看书籍
推荐看这 2 本世界上卖得最好的 c++百科全书,c++之父写的书:
这本书是 c++第一个编译器的作者所写的书。
需要专家的建议,可以看的书:
什么东西该写,什么东西怎样写比较好。里面以条款的形式告诉你什么该做,什么不该做,做什么会影响效率。
这个是中文版:
标准库方面好的书:
看标准库的源代码:
STL 是标准库的前身。标准库里面的 80-90%,以前叫做 STL。本篇文章是我看候捷老师的视频,总结出来的笔记,感谢优秀的人,也感谢阅读我文章的人,我会努力学习 c++的。
公众号 「清菡软件测试」 首发,更多原创文章:清菡软件测试 97+原创文章,欢迎关注、交流,禁止第三方擅自转载。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/619.html