“除了静态内存和栈内存之外,每个程序还拥有一个内存池。这部分空间被称作自由空间(free store)或堆(heap)。程序用堆来存储动态分配(dynamically allocate)的对象”——《C++ primer(第五版)》 P400

  

  

  *由系统自动管理,以执行函数为单位。

  *空间大小编译时确定(参数 + 局部变量)。

  *函数执行时,系统自动分配一个stack。

  *函数执行结束,系统立即自动回收stack。

  *具有局部性,大小有限额,超出会stack overflow。

  

  与上图对应的代码应该为

class Point
{
int x;
int y;
}
void foo()
{
Point sp;
sp.x = ;
sp.y = ;
}

  

  *分配由程序员手动请求new。

  *释放由程序员手动释放delete,如果忘记则会内存泄漏。

  *具有全局性,总体大小没有限制(受制于系统内存整体大小)。

  

  与上图对应的代码

class Point
{
int x;
int y;
}
void foo()
{
Point *pt = new Point();
pt->x = ;
pt->y = ;
delete pt;
}

C++微专业课程辅导(内存模型和动态内存)的更多相关文章

  1. 硬件内存模型到 Java 内存模型,这些硬核知识你知多少?

    Java 内存模型跟上一篇 JVM 内存结构很像,我经常会把他们搞混,但其实它们不是一回事,而且相差还很大的,希望你没它们搞混,特别是在面试的时候,搞混了的话就会答非所问,影响你的面试成绩,当然也许你 ...

  2. oracle结构-内存结构与动态内存管理

    内存结构与动态内存管理 内存是影响数据库性能的重要因素. oracle8i使用静态内存管理,即,SGA内是预先在参数中配置好的,数据库启动时就按这些配置来进行内在分配,oracle10g引入了动态内存 ...

  3. Android JNI编程(五)——C语言的静态内存分配、动态内存分配、动态创建数组

    版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 一:什么是静态内存什么又是动态内存呢? 静态内存:是指在程序开始运行时由编译 ...

  4. Java 内存模型和硬件内存架构笔记

    前言 可跟<主存存取和磁盘存取原理笔记>串着看 https://blog.csdn.net/suifeng3051/article/details/52611310 杂技 Java 内存模 ...

  5. Java内存模型-volatile的内存语义

    一 引言 听说在Java 5之前volatile关键字备受争议,所以本文也不讨论1.5版本之前的volatile.本文主要针对1.5后即JSR-133针对volatile做了强化后的了解. 二 vol ...

  6. Java并发编程里的volatile。Java内存模型核CPU内存架构的对应关系

    CPU内存架构:https://www.jianshu.com/p/3d1eb589b48e Java内存模型:https://www.jianshu.com/p/27a9003c33f4 多线程下的 ...

  7. 【java】java内存模型(2)--volatile内存语义详解

    多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”.可见性的意思是当一个线程 ...

  8. 04-JVM内存模型:直接内存

    1.1.什么是直接内存(Derect Memory) 在内存模型最开始的章节中,我们画出了JVM的内存模型,里面并不包含直接内存,也就是说这块内存区域并不是JVM运行时数据区的一部分,但它却会被频繁的 ...

  9. 物理机内存模型与java内存模型

    多线程缓存一致性问题 程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数 ...

随机推荐

  1. 如何将Win10 的环境变量页面设置用在win7上面?

    如何将Win10 的环境变量设置用在win7上面? Win7一般是如下设置: Win10 是如下设置: 解决办法: 注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentContr ...

  2. jquery on事件jquery on实现绑定多个事件

    API上jquery on介绍 on(events,[selector],[data],fn) 概述 在选择元素上绑定一个或多个事件的事件处理函数. on()方法绑定事件处理程序到当前选定的jQuer ...

  3. Linux:file命令显示自定义文件类型

    file 命令可以查看文件类型信息,原理见: 非常Linux-file命令与magic file 修改 /ect/magic 文件后,可用 file 命令显示自定义文件类型信息. man magic ...

  4. oozie学习笔记

    #################################################################################################### ...

  5. supervisor control in centos 6/7 python2.6.2.7 3.4

    sudo yum install epel-releasesudo yum install python34 sudo pip install virtualenv yum -y install ep ...

  6. wxWidgets与其他工具库的比较(下)

    2009-07-25 12:37:51   GTK+       ● GTK+的网站:www.gtk.org:     ● GTK+原本是Gimp的一个工具库,是在LGPL协议下发布的Unix系统GU ...

  7. 青蛙的约会---poj1061(扩展欧几里德)

    题目链接:http://poj.org/problem?id=1061 就是找到满足 (X+mt)-(Y+nt) = Lk 的 t 和 k 即可 上式可化简为 (n-m)t + Lk = X-Y;满足 ...

  8. Heavy Transportation---poj1797

    求(Dijkstra算法,求每条路径上的最小值 的最大值)和青蛙的那题类似:   #include<iostream> #include<stdio.h> #include&l ...

  9. Elasticsearch教程-从入门到精通(转)

    原文:http://mageedu.blog.51cto.com/4265610/1714522?utm_source=tuicool&utm_medium=referral 各位运维同行朋友 ...

  10. android 本地字符串存取

    存 // data 指定的文件名 SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVAT ...