zoukankan      html  css  js  c++  java
  • 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; 纯虚函数

  • 相关阅读:
    Python基础:数据类型-列表与元组(6)
    Python基础:数据类型-数字(5)
    Python基础:编码规范(4)
    Python基础:语法基础(3)
    Python基础:第一个Python程序(2)
    Python基础:搭建开发环境(1)
    Vue.js 2.x笔记:服务请求axios(8)
    Vue.js 2.x笔记:状态管理Vuex(7)
    一位资深传统型软件开发者的思考:传统软件企业危机四伏【转】
    基于cesium的GIS洪水淹没三维模拟系统
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/12800826.html
Copyright © 2011-2022 走看看