堆栈是系统使用是临时存储区域。它是后进先出的数据结构。
C++主要将堆栈用于函数调用。当函数调用时,各种数据被推入堆栈顶部;函数终止后的返回地址、传递给函数的参数、函数返回的结果以及函数中声明的局部变量等等。因此当函数A调用函数B调用函数C,堆栈是增长了,但调用完成后,堆栈又缩小了。
堆是一种长期的存储区域。程序用C++的new操作符分配堆。对new的调用 分配所需的内存并返回指向内存的指针。与堆栈不同,你必须通过调用new明确的分配堆内存。你也必须通过调用C++的delete操作符明确的释放内存,堆不会自动释放内存。
如果C++中的一个类是定义在堆栈上的,就使用"."开访问它的成员。如果是定义在堆上的,就使用"->"指针来开访问。 但在,"->"操作符也可以用在堆栈上的类。
堆栈的区别
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
codeforces 1251E1/E2 Voting
祤溪
2020-07-08 12:36:32
获取某一目录下所有文件夹名,返回vector「string」
COSummer
2020-07-08 12:27:32
linux环境下开源库jsoncpp使用教程
Worthy_Wang
2020-07-08 12:19:12
C++:模拟实现list容器(支持迭代器)
ETalien_
2020-07-08 12:19:01
C++(面试题):给40亿个不重复的无符号整数,没排过序,如何快速判断一个数是否在这40亿个数中
ETalien_
2020-07-08 12:19:01
C++ 并发中的无锁编程
蚓无爪牙之利
2020-07-08 11:23:03
数据结构——数组(3) 在有序数组中找出重复的次数最多的数
zhangying_496
2020-07-08 10:38:18
数据结构——数组(1)数组求和&打印二维数组&判断数组是否递增
數組求和 方法一:直接一次for循環 int GetSum1(int *a,int n) { int sum=0; for (int i=0; i<n;i++) { sum+=a[i];
zhangying_496
2020-07-08 10:38:18
C语言实现的json解析程序
lindorx
2020-07-08 10:35:53
大话设计模式C++版本-04-代理模式
wkd_007
2020-07-08 10:27:39
大话设计模式C++版本-07-模板方法模式
wkd_007
2020-07-08 10:27:28
大话设计模式C++版本-05-工厂方法模式
wkd_007
2020-07-08 10:27:26