C++中堆栈模块stack的使用中怎么清空堆栈啊?

比如,定义stack<int>intstack;之后作了一系列的push(),pop()操作,我想马上把它清空,该怎么办啊?模块类stack里面有没有相应的函数和方法啊?... 比如,定义stack<int> intstack;
之后作了一系列的push(),pop()操作,我想马上把它清空,该怎么办啊?
模块类stack里面有没有相应的函数和方法啊?
谢谢~
展开
 我来答
娱乐小八卦啊a
高粉答主

2020-05-11 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117811

向TA提问 私信TA
展开全部

当用户离开一个task一段时间后,系统就会清理掉task里出了rootActivity以外的Activity,如果用户又回来了,显示的是rootActivity,就像是用户离开又回来,是放弃以前的东西,开始新的东西。上面说的是默认的情况,有一些Activity的属性可以用来控制和修改这些行为。

alwaysRetainTaskState

如果一个task里的root Activity的alwaysRetainTaskState属性设置为true,那么前面描述的默认情况就不会出现了,task即使过了一段时间也会一直保留所有的Activity。

clearTaskOnLaunch

如果一个task里的root Activity的clearTaskOnLaunch属性设置为true,和alwaysRetainTaskState相反,即使是一瞬间的离开,系 统马上就会清理掉task里出rootActivity以外的所有Activity。

扩展资料

堆栈的作用:

在绝大多数的平台上,堆栈主要完成这么四个事情:

1、临时数据存放。
主要通过 push 和 pop 两个指令完成。这就好比,我们在工作的时候,手边临时拿不了的东西,先暂时放在桌子上,等手头空闲下来了,再移动到该存放的地方。

2、存放函数局部变量。

3、存放函数的虚参。

4、记录调用轨迹。

稍大的程序一般是一个函数调用另一个函数,然后再调用其他函数......为了能够让函数执行后按照原先的顺序返回,堆栈就必须记录调用的轨迹。

堆栈要求太高而导致溢出的原因:

1、需要临时存储的信息太多了。这种情况多发生在用内部函数(例如 max 、read、数组整体赋值 )处理较大量的数组。这种时候,我们可以用循环来代替一些内部函数,或者用循环分批次地处理内部函数。

2、函数局部变量太大。局部变量多数存储在堆栈里,当它很大是,就容易溢出。尤其针对数组大小由虚参给定的情况。

lgao622
推荐于2017-09-03 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6548
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
  1. 用循环判断 stack 的size() 是否为0,否则执行一次 pop(),直到为0为止。

  2. pop() 函数移除堆栈中最顶层元素. 如下代码显现和清空一个堆栈。

  3. while( !s.empty() )
          s.pop();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kanerry
推荐于2017-10-02 · TA获得超过869个赞
知道大有可为答主
回答量:3998
采纳率:0%
帮助的人:2502万
展开全部
貌似没有
你可以写一个循环,每次测一下是否堆栈为空
不为空则pop
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
遇晤夏安宜
2020-06-29 · TA获得超过3977个赞
知道大有可为答主
回答量:3077
采纳率:30%
帮助的人:202万
展开全部
你不是申请内存出错,是访问了未分配的地址。这就是内存越界造成的,越界写了你不该写内存区域。
内存地址空间是要先申请才能使用的,但不光是你用,c++运行库也有一些全局变量,其中就有你new内存的记录、包括new的这段内存的大小、起始地址。如果你越界修改了内存,那就有两种可能:1、访问到了未申请的地址空间,直接报错,2、修改到不是你申请的内存地址空间,比如说c++运行库的全局变量。
问题的本质在于你之前越界访问了内存空间,好好检查你代码吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gccheng
2006-09-17 · TA获得超过108个赞
知道答主
回答量:18
采纳率:0%
帮助的人:32.7万
展开全部
那你只能自己写了。
for (int i = intstack.size; i > 0; --i)
intstack.pop();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式