• 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();
    }
    复制代码

     


    博主ma6174对本博客文章(除转载的)享有版权,未经许可不得用于商业用途。转载请注明出处http://www.cnblogs.com/ma6174/

    对文章有啥看法或建议,可以评论或发电子邮件到ma6174@163.com


    本文转自ma6174博客园博客,原文链接:http://www.cnblogs.com/ma6174/archive/2011/12/06/2277508.html,如需转载请自行联系原作者
  • 相关阅读:
    【todo】深入理解设计模式
    一个最简单的LRUCache实现 (JAVA)
    Redis之AOF重写及其实现原理
    【todo】nosql 的几种类型研究
    【todo】redis 中的hyperloglog原理
    【todo】ER分片
    【todo】研究一下mycat的原理
    【todo】研究一下sharding-jdbc的原理
    为什么存储过程比sql语句效率高?
    存储过程这一篇就够了
  • 原文地址:https://www.cnblogs.com/twodog/p/12139178.html
Copyright © 2020-2023  润新知