C++

1、由C到C++的变化:过程性编程-----》结构化编程-----》面向对象编程(OOP);  试图让实际问题满足语言的过程性方法----》试图让语言来满足实际问题的要求;自上而下的设计过程(将程序、大任务分解为各个小任务的过程)----》自下而上的设计过程(从低级组织【如类】到高级组织【如程序】的处理过程)

2、C++中OOP和C++泛型编程:二者的目标相同,即使重用代码和抽象通用概念的技术更简单。不过OOP强调的是编程的数据方面,而泛型编程强调的是独立于特定数据类型。它们的侧重点不同。OOP是一个管理大型项目的工具,而泛型编程提供了执行常见任务(如对数据排序或合并链表)的工具。

3、c++程序构建过程,各大系统下编译器行为简介       源代码---》目标代码-----》链接    

4、命名空间

5、变量的声明与定义

  在声明部分出现的变量有两种情况:一种是需要建立存储空间的(如int a;);另一种是不需要建立存储空间的(如extern int a;)。前者称为定义性声明(defining declaration),或简称为定义(definition)。后者称为引用性声明(referenceing declaration)。广义地说,声明包括定义,但并非所有的声明都是定义。对“int a;” 而言,它是定义性声明,既可说是声明,又可说是定义。而对“extern int a;” 而言,它是声明而不是定义。一般为了叙述方便,把建立存储空间的声明称为定义,而把不需要建立存储空间的声明称为声明。

  用static来声明一个变量的作用有二:

  对局部变量用static声明,使该变量在本函数调用结束后不释放,整个程序执行期间始终存在,使其存储期为程序的全过程。

  全局变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。

定义时声明某个变量时同时复制给变量,就叫变量初始化。

6、类简介:要定义类,需要描述它能够表示什么信息和可对数据执行哪些操作。类之于对象就像类型之于变量。

7、函数原型:函数原型之于函数就像变量声明之于变量----指出涉及的类型。

  函数原型、函数体、函数头、函数类型、函数定义  区分

 8、常用整型:char、uchar、short、ushort、int、unsinged int、long、unsinged long 、long long 、unsigned long long

9、字面值常量:十进制、八进制、十六进制 表示  /     字面值常量加后缀表示字面值常量的类型   u/ul/ll

10、std::cout 控制输出格式 dec、oct、dex

11、字符编码与c++ 表示

12、C++ 源字符集(源代码字符集) /   C++程序执行字符集(程序执行期间可以使用的字符集,如可以从文本读取或显示在屏幕的字符集)

13、通用字符名

14、C++ 用于字符的类型由:char、uchar、w_char、char16_t、char32_t   (基本字符集和扩展字符集)

15、const  限定符   常量,常量声明时需初始化

16、C++浮点数的表示    (float   double long double  能够表示的数字有效位数的不同)

17、操作符重载:使用相同的符号进行多种不同的操作

18、取模运算只是用于整型,浮点数取模可以使用fmod(double)函数

19、C++中的自动类型转换

自动类型转换的基本规则:

20、数组名与指向数组的指针,二者都可以使用数组名加索引下标的方式访问数组元素;不同的是数组名是一个指针常量,不能更改指向的地址,其值不能更改,而后者可以自增、自减及赋值

21、指针的使用可能带来的问题

22、C++中的内存分配方式不同,管理数据内存的方式也不同,大致有3种:自动存储(代码段中的栈空间数据对象)、静态存储(全局数据对象、static声明数据对象)、动态存储(malloc/free、new/delete 堆空间分配的数据对象)

23、数组、vector、array

数组、vector、array 都可以使用数组下标 [] 来访问其中的元素,但 [] 对越界的索引值不会做出提示;而vector和array同时也可以使用成员函数at()来访问元素,若越界则程序将抛出异常;[] 比 at() 执行效率高

24、复合数据类型

25、for循环(由控制体和循环体两部分构成;控制体由初始化、测试、 更新操作 构成)

26、自增、自减  (a++ 在表达式中时表示使用a当前的值进行计算;++a 在表达式中时表示使用a自增之后的值进行计算)

自增、自减副作用  

27、函数

28、指针

29、二维数组表示法

30、C风格字符串

31、函数指针

 32、使用函数指针调用函数

 33、函数指针数组

34、内联函数  inline 关键字声明;编译器将部分常规函数优化成 内联函数;内联函数  是程序编译成二进制指令时,直接将函数体的二进制指令编入,而不是记录函数的内存地址。(内联函数不能递归)

35、内联 与 宏函数 ;内联有类型检查与类型转换;而宏函数定义,仅仅是在预处理时做了 文本替换。

 36、引用   变量的别名(引用声明时必须初始化)

 

posted @ 2021-08-25 18:02  小油人  阅读(1173)  评论(0编辑  收藏  举报