stl的stack在开发中的应用

 

 栈有后进先出特点,我们可以用它来暂时保存数据,在画板开发中,我用到了栈来保存用户的每一步操作,当用户点击撤销时可以把图像从栈里面取出,然后恢复。浏览器的前进和后退也是这个原理,只是它保存的是网页罢了。用stl可以轻松使用栈而不用去做复杂的函数定义,看下面的实例,希望通过下面的实例,让大家了解怎么用stl中的stack以及如何使用栈

复制代码
#include <graphics.h>
#include <iostream>
#include <conio.h>
#include <stack>
using namespace std;
int main()
{
stack<IMAGE>s1;
IMAGE img,hh;
initgraph(600,600);
//清屏压栈
cleardevice();
getimage(&img,0,0,600,600);
s1.push(img);
//画圈压栈
circle(100,100,50);
getimage(&img,0,0,600,600);
s1.push(img);
getch();
//画线压栈
line(1,1,600,600);
getimage(&img,0,0,600,600);
s1.push(img);
getch();
//清屏
cleardevice();
getch();
//依次出栈
hh=s1.top();
putimage(0,0,&hh);
getch();
s1.pop();
hh=s1.top();
putimage(0,0,&hh);
getch();
s1.pop();
hh=s1.top();
putimage(0,0,&hh);
getch();
s1.pop();
}
复制代码

 

posted on   ma6174  阅读(462)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

统计

点击右上角即可分享
微信分享提示