来源于C++ Primer Plus c++笔记(一)

1、
c++融合了三种不同的编程方式。C语言代表的过程性语言、在c语言基础上添加的类代表的面向对象语言、c++模板支持的泛型编程。
2、
使用c++的原因之一是为了利用其面向对象的特性。
3、
从c语言过渡到c++,需要摒弃一些变成习惯,不要把代码写成四不像,既像c++又像c语言,各种编程习惯混用。
LZC:我刚学的时候,也是c++和c语言编程习惯混用,主要是c语言比c++玩的溜,一上手不自觉得就写成了c语言的编程习惯,当然也要根据现实需求,混用比不混用代码更好那就混用喽。
4、
c++在c语言的基础上移植了新的编程理念,一般来说,计算机语言要处理两个概念-数据和算法。
数据是程序使用和处理的信息,而算法是程序使用的方法。
5、
从概念上说,过程化编程首先要确定计算机应采取的操作,然后使用编程语言来实现这些操作。随着程序规模的扩大,早期的程序语言都会遇到组织方面的问题。很多旧式程序的执行路径很混乱。
为了解决这个问题,计算机科学家开发了一种更有序的编程方法-结构化编程,例如c语言。另外一个原则就是自顶向下的设计,在c语言中,其理念是将大型程序分解成小型、便于管理的任务,
如果其中的任务仍然过大则可以继续分解,合理就行,直至将程序划分为小型的、易于编写的模块。综上,结构化编程技术反映了过程性编程的思想,根据执行的操作来构思一个程序。
6、
尽管结构化编程的理念有很多的优点,例如提高了程序的清晰度、可靠性、并使之便于维护。但他在编写大型程序时,却面临着很大的挑战
面向对象编程的特点:面向对象强调的是数据。面向对象编程不像过程性编程那样,试图使问题满足语言的过程性方法,而是试图让语言来满足问题的要求,其理念是设计与问题的本质特性相对应的数据格式。
7、
在c++中,类是一种规范,他描述了这种新型格式,对象是根据这种规范构造的特定数据结构。通常,类规定了可使用哪些数据来表示对象以及可以对这些数据执行哪些操作。
8、
面向对象编程程序设计方法首先设计类,他们准确地表示了程序要处理的东西。类定义描述了对每个类可执行的操作。从低级组织(如类)到高级组织(如程序)的处理过程叫做自下向上的编程。
9、
面向对象编程并不仅仅是将数据和方法合并为类定义。面向对象编程还有助于创建可重用的代码,这将减少大量的工作。信息隐藏可以保护数据,使其免遭不适当的访问。
多态让你能够为运算符和函数创建多个定义,通过编程上下文来确定使用哪个定义。继承让你能够使用旧类派生出新类。
10、
面向对象编程不是将重点放在任务上,而是放在概念上。
LZC:这个我还有很多疑问,理解比较模糊。
11、
设计有用、可靠的类是一项艰巨的任务,幸运的是面向对象编程使程序员在编程中能够轻松使用已有的类。厂商提供了大量有用的类库。因此c++的真正优点之一是:可以方便地重用和修改现有的、
经过仔细测试的代码。
LZC:不要什么代码都自己写,那不得累死啊,有些复杂且没有技术含量的代码请封装移植。
12、
泛型编程是c++支持的另一种编程模式。他与面向对象编程的目标相同,即使重用代码和抽象通用概念的技术更简单。不过面向对象编程强调的是编程的数据方面,而泛型编程强调的是独立于特定数据类型。
面向对象编程是一个管理大型项目的工具,而泛型编程提供了执行常见任务(如对数据排序或者合并链表)的工具。术语泛型指的是创建独立于类型的代码。c++的数据表示有多种类型-
整数、小数、字符、字符串、用户定义的、由多种类型组成的复合结构。例如,要对不同类型的数据进行排序,通常必须为每种类型创建一个排序函数。
泛型编程需要对语言进行扩展,以便可以只编写一个泛型(即不是特定类型的)函数,并将其用于各种实际类型。c++模板提供了完成这种任务的机制。
13、
c++是c语言的超集,这意味着任何有效的c程序都是有效的c++程序。他们之间有些细微的差异,但无足轻重。c++程序可以使用已有的c软件库。
名称c++来自C语言中的递增运算符++,该运算符将变量加1。名称c++表明,它是c的扩充版本。
**14、**面向对象编程赋予了c++语言将问题所涉及的概念联系起来的能力,c语言部分则赋予了c++语言紧密联系硬件的能力,这种能力上的结合成就了c++的广泛传播。
c++融合了面向对象编程、泛型编程和传统的过程性方法,这表明c++强调的是实用价值,而不是意识形态方法,这也是该语言获得成功的原因之一。
15、
c++98标准第一版,它不仅描述了已有的c++特性,还对该语言进行扩展,添加了异常、运行阶段类型识别(RTTI)、模板和标准模板库(STL)。
16、
c++2003标准第二版,对第一版本进行了整理,修订错误、减少多义性等,但没有改变语言特性。由于没有改变语言特性,因此我们使用c++98表示c++98/c++2003
17、
c++11,与c++98一样,c++11也增加了众多特性。其目标是消除不一致性,让c++学习和使用起来更容易。
18、
给源文件命名时,必须使用正确的后缀,将文件标识为c++文件。这不仅告诉您该文件是c++源代码,还将这种信息告知编译器。
19、
Cygwin和MinGW都包含编译器GNU C++,且可以免费下载,他们使用的编译器名为g++。
20、
c语言新增了诸如控制结构和函数等特性,以便于更好地控制程序流程,支持结构化和模块化下程度更高的方法。
而c++增加了对面向对象编程和泛型编程地支持,这有助于提高模块化和创建可重用的代码,从而节省编程时间并提高程序的可靠性。
22、
标准的出台为确保众多实现的相互兼容提供了基础。这些标准规定了语言必须具备的特性、语言呈现出的行为、标准库函数、类和模板、旨在实现该语言在不同的计算平台和实现之间的可移植性。
23、
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最怕问初衷,幻梦成空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值