c++复习知识点。(基础)

1.using namespace std;  使用std命名空间,其中有cout/cin/endl
命名空间主要是用来解决工程上命名重复问题。
::作用域,:继承。全局变量标志符可以和局部变量一样,使用时用::a;
2.c++与c语言的区别:

①c++兼容c语言
②c++增加了数据类型:布尔型、引用类型、class
③c++最显著的特征:
多态:指的是在某一个概念范围内满足一类事物有多重形态,向不同的对象发送同一条消息,不同的对象接收时会产生不同的行为
封装:保护内部的定义结构安全性,将对象的成员变量和实现细节隐藏起来,把方法暴露出来。将抽象得到的成员和函数相结合,形成一个有机的整体。
继承:在已有的程序结构上继续扩充新的功能,子类继承父类的特征和行为。
3.面向对象
面向对象是一种组件化的思想。面向对象开发的步骤:面向对象分析(ooa)、面向对象设计(ood)、面向对象编程(oop);
面向对象是以现实生活中客观存在的事物(对象)来构造软件系统,并在系统构建中尽可能运用人类的自然思维方式,强调直接以事物对象为中心来思考、分析问题,并根据事物的本质特征将其抽象为
系统中的对象作为系统的基本构成单位。
4.类和对象
类与对象是整个面向对象之中最为基础的组成单元,类是共性的集合,对象是一个个性的产物。类是公共特征,类必须通过对象才能使用。类是具有相同或相似性质的对象的抽象,对象的
抽象是类,类的实例化是对象。
5.c语言是面向过程:针对某一问题单独提出解决方案以及代码开发。。c++是面向对象:以一种组件化的形式进行代码的设计,代码可以重用。
6.堆:用于分配程序员申请的内存空间,是向上增长的,要主动释放,不然可能会引起内存泄漏。
栈:栈区是分配局部变量的空间,处于相对较高的地址、栈地址向下增长
只读区:分配常量和程序代码
静态数据区:分配静态变量、全局变量的空间。
为初始化或者初始化为0的变量存储在bss段
7.动态内存的申请  malloc  new  分别用free delete释放
8.智能指针:是个空指针,释放未释放的动态内存,类似垃圾回收机制
9.堆区和栈区的区别
①申请方式和回收方式不同
栈:自动分配、自动回收,生命周期只在函数的运行过程中
堆:由程序员自己申请,自己释放
②申请后系统的响应
栈:栈的剩余空间大于所申请的空间,系统将会为程序提供内存,小于则会出现异常:栈溢出
堆:遍历空闲内存地址的链表,寻找第一个空间大于所申请的借点,效率较低
③申请效率
栈:快,无法控制
堆:慢,容易产生内存碎片,用起来方便
④申请大小
栈:栈的大小是2m超出会导致栈溢出
堆:大小受限计算机系统有效的虚拟内存,堆获得的空间比较灵活也比较大
⑤存储内容
栈:函数调用语句的下一条可执行语句的地址、函数的各个参数、函数中的局部变量
堆:具体内容由程序员安排
⑥存储效率
堆慢、栈快
10.变量的引用
int a =10;
int &b = a;
变量的引用是为变量取别名,不重新分配地址。
11.引用和指针的区别
引用:别名,未分配地址
指针:变量、分配空间
12.define和const定义常量的区别
①const带分号,是一条完整的语句
②define只是在预处理阶段的代码替换,const支持类型检查
③define系统不分配内存,const在常量区分配内存
13.const的作用
①const它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。
②可以定义指针
③可以定义引用
④可以定义对象
⑤可以节省空间,避免不必要的内存分配。
14.默认参数函数:函数声明时指出指定默认参数,从最右端开始。
15.函数重载
函数的重载必须是参数数量或者参数类型变化,只有返回值类型改变的函数不是函数的重载。
16.内联函数
使用inline关键字声明或者定义
当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码争端插入到当前位置。省去了调用的过程,加快程序的运行速度。
当一个函数短小并频繁使用便可使用内联函数。内联函数是在编译时起作用,并不是在程序运行过程中调用。
17.结构体变量的大小和每个结构体成员的大小都有关系,遵循内存对齐的原理。内存对齐的字节数可以用#pragma pack(4)改变
18.联合体大小至少要满足联合体最大成员的大小并且是所有数据成员类型的整数倍。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值