• c++的内存分配


      c++的三种内存分配方式:

      1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。全局变量,static变量就是这种分配方式。

      2.在栈上创建的内存。在执行函数内部局部变量的存储单元在栈上创建,函数执行结束时伴随着局部变量生命周期的结束,这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。

      3.堆上分配内存,也就是动态内存分配。用new或者malloc申请之后应该立马给指针赋初值,防止将未被初始化的内存作为右值使用;避免数组或指针的下标越界,特别要当心发生“++”或者“--”操作;动态内存的申请与释放必须配对,防止内存泄漏;用free或delete释放了内存之后,立即将指针设置为NULL,防止产生“野指针”。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由程序员决定,使用非常灵活。(int *pArray;   int MyArray[6];    pArray = &MyArray[0];)如果在申请动态内存时找不到足够大的内存块,malloc和new将返回NULL指针,判断指针是否为NULL,如果是则马上用return语句终止本函数,或者马上用exit(1)终止整个程序的运行,为new和malloc设置异常处理函数。

  • 相关阅读:
    常用数据分析方法及分析工具,比如:EXCEL、SAS、SPSS
    常用代码管理工具,如git、hg、svn
    Memcached分布式内存对象缓存系统
    10个出色的NoSQL数据库
    虚拟机
    使用自己的CSS框架(转)
    响应式设计,bootstrap框架的IE兼容问题
    区别ie8和ie9的方法
    焦点问题onfocus=”this.blur()”代替方法(转)
    php 引用其他action中的方法
  • 原文地址:https://www.cnblogs.com/begoogatprogram/p/4635896.html
Copyright © 2020-2023  润新知