c++ 字节,宏定义和内存泄漏的问题

7.1:
宏定义和操作符的区别?
(1)宏定义是C语言提供的预处理功能之一,这三种处理分别是宏定义,文件包含和条件编译。
宏定义是替换,不做计算也不做表达式求解,不占内存和编译时间,造作符占用时间计算。

宏定义如何展开?
宏定义展开就是用宏定义的宏体去替代指代宏指令名,并且用实际参数去一一取代形式参数。

7.2:
include的使用
头文件在<>里面代表是系统头文件,一般系统通过环境变量查到
""使用的头文件自定义的头文件一般是在指定的目录下面去查找

包含头文件的时候如何查找头文件
用户自定义的头文件,编译器首先会在用户目录下去查找,然后再安装目录下查找,最后Linux和UNIX通过环境变量去查找

7.3:内存分配
(1)野指针的问题
我们在声明指针的时候:记得初始化

int *p = NULL; int *p = new int(5); //

(2) 申请内存之后要释放回收,并且释放之后该指针最好也要进行NULL

(3) 函数返回的指针类型我们要进行判断


7.4:C++中数据类型的长度

数据长度系统有关系的:32位 64位
1、整形:int、long

2、字符型:char、wchar_t

3、布尔型:bool

4、浮点型:float、double

char < short < int < float < double 类型

short 2 - 4

bool 类型 1个字节
char 类型通常占据一个字节,对于用于扩展字符集的wchar_t类型,需要占据两个字节。
bool占据一个字节
float占据4个字节,double是float的两倍即8个字节
指针字节长度计算原理其实跟int差不多,一个指针的位数和操作系统的位数是相等的,即32位系统应该是4个字节,
64位系统应该是8个字节
short、int和long类型都表示整型值,存储空间的大小不同。一般,short类型为半个机器字长(word)长,
int类型为一个机器字长,而long类型为一个或两个机器字长(在32位机器中int类型和long类型通常字长是相同的)。
sizeof()函数进行测试判断字节长度

7.5 如何释放内存和分配内存
new delete 申请和释放单个连续变量的空间
new[] []delete 申请和释放多个连续变量的空间


7.6:虚函数和纯虚函数
什么是虚函数,作用?
纯虚函数和虚函数有什么区别?

虚函数是大多是为了实现动态链接,父类指针变量指向基类的指针,调用自己的方法。虚函数目的就是为了基类用来实现多态性。
纯虚函数:纯虚函数是抽象类的表示,类似公有接口的编写。纯虚函数用于抽象类,本身是不能生成对象的。

虚函数是纯虚函数的一个子集。

virtual void area( int i, int j ) = 0; 纯虚函数

原文地址:https://www.cnblogs.com/love-life-insist/p/12800826.html