1.#include不属于C++程序,所以也是末尾不带分号的原因。里边是函数声明,在编译之前先找到头文件里边声明的具体定义的函数放到头文件那里位置,然后参与代码一起编译
2.对于错误;先双击第一个,定位到那句看前后,不懂,查
3.int a=5,int已经集成好类型是整型,初值为5,class Person{},Person是个自定义类型,Person person1(陈磊,25),Person是个自定义类型,相当于模版,person1和a为模版代号,初值为里边具体的事物
这样就是C++里边一切皆对象的,int是模版对象,a是具体对象,5值对象;a和Person1是变量(开辟空间),陈磊,25是常量
4,层级的概念,在变量层进行运算,与具体的代入值无关,进行泛化,通用
5.从角度的概念,是从存储的空间内容可变角度给存储空间起的定义
6.自顶向下,国家-省-市-镇-乡村,由大到小的切割过程
7.调试技巧,输出语句,添加监控变量/表达式,可为变量或者常量,用的值就是执行到的最后一次的值
8.数组:多个同类的变量;结构体:多个不同类变量;枚举:某个变量值有限
每次只针对一个对象进行变与不变的思考,只改一个变化,出现另一种概念;也可以考虑两个改变
个数上改变-数组-个数和类型上改变-结构体;值的个数限制-枚举
9.递归函数,直接或者间接的调用了自身的函数,例:求n!迭代是指循环来实现
内联函数:加大空间开销以节约时间开销;内体内定义函数是默认内联函数,内体外,加关键字inline
函数重载:同名,参数个数、类型、顺序不同,调用时候自行匹配(功能类型,处理数据类型不一样)
10.变量的作用域和存储类型
作用域:使用范围分为局部+全局
局部变量:在函数内、形参、语句块内定义的变量,其他地方不能用,这个其他包括被调用的函数,对于调用函数来讲使用范围不具有传递性,而复合语句可以传递使用范围,运行完,释放是一样的,函数返回值后释放
存储类型:存放在哪里:堆区,动态分配,栈区,局部变量后进先释放,代码区,全局数据区,放全局变量,静态数据
11.指针:指代,存储变量的地址,转到地址层操作;指针变量是从存放内容为别的变量地址角度给定义的
12.基本数据类型,结构体,类;变量即对象
13.公有成员作为可修改内部私有成员(保障想要数据安全)的接口;保护成员介于公私之间,结合继承时候用到
14.构造函数:初始化对象值,析构函数:释放对象值,在释放前执行语句,做一些清理工作
15.继承和发展:继承所有除了基类构造和析构不可继承,修改不想要的函数功能、添加新的信息,模拟爸爸和儿子
16.多态:同一个语法,对应不同操作
具体分编译时多态,在编译时确定选择一个函数:函数重载+运算符重载
运行(现场输入确定执行哪个)时多态:虚函数来实现,动态绑定
17.抽象类:不实例化的类,至少有个纯虚函数
18.虚构造不允许定义,虚析构必须在类里边说明,若不是的话,会释放基类的构造函数
19.深浅拷贝,同类对象赋值,b=a,a对象的地址也给了b,a变b的值和a一样,b离开了自己内存单元
20.流:是流动数据的集合,cin是iostream的对象,ifstream是文件的输入输出(一切皆对象)
21.const:修饰变量为常量,修饰引用,常内容(指针指向的变量内容不可修改)指针,常指针(指针本身是常量),两者都不可改;修饰函数:
22.模版:抽象数据类型;函数模版+类模版(抽象)
23.标准模版库:基本数据结构(容器,迭代器)+基本算法(排序、查找..)库,容器+算法+迭代器
24.容器是对象,存储相同类型元素,线性顺序容器(vector、deque、list)+键存储关联性容器(map、set)+再包装容器适配器(栈、队列)
25.迭代器对象,(vector)确定元素位置
26.算法:各种函数模版组成,用于操作容器,有交换、遍历、查找…
27.vector:动态数组,优势,自动调整空间大小,耗时
28.常量运算层,变量运算层
29.定义变量类型,存储空间和存储形式不同
30.实体:客观世界存在的单个事物
31.抽象:简化描述事物,取其一些主要功能
32.变量对应一个可供操作的存储空间,C++中的每个变量都有其数据类型,数据类型决定着变量所占内存空间的大小和布局方式,该空间能存储的值得范围,以及变量能参与的运算。对C++程序员来说,“变量”和“对象”一般可以互换使用