stl的stack在开发中的应用

摘要:
堆栈具有后进先出的特性。我们可以使用它临时保存数据。在绘图板的开发中,我使用堆栈保存用户操作的每一步。当用户单击“撤消”时,可以从堆栈中取出图像,然后恢复。这也是浏览器向前和向后的原理,但它只保存网页。堆栈可以很容易地在stl中使用,而不必定义复杂的函数。看看下面的例子。我希望通过以下示例,您可以了解如何在stl中使用堆栈,以及如何使用堆栈#include #include#include#includeusingspacestd;Intmain(){stack<IMAGE>s1;IMAGE1mg,hh;initgraph;//清除屏幕并按下堆栈cleardevice();getimage;s1.push;//圆;getimage();s1.推;getch();//行并按下堆栈;getimage,s1.push;getch);//清除屏面并按下堆栈cleardevice(;}

 栈有后进先出特点,我们可以用它来暂时保存数据,在画板开发中,我用到了栈来保存用户的每一步操作,当用户点击撤销时可以把图像从栈里面取出,然后恢复。浏览器的前进和后退也是这个原理,只是它保存的是网页罢了。用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();
}

免责声明:文章转载自《stl的stack在开发中的应用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇7.2、compute节点配置cocos2dx之Lua调用C++下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

c++ 开源日志库选择

liblogger 待选为 glog、log4cplus、log4cpp、log4cxx 目前准备使用glog,使用方便,性能也不错,待进一步试验,如果有不能满足的功能就转用 log4cplus,功能很全面,不过稍复杂些。 其它两个都是三年前就没更新,没好感,暂不准备使用。 1.log4cplus 最新版本:1.1.0 2012-03-11 下载地址:ht...

网络IPC:套接字

摘要: UNIX系统进程间通信机制(IPC),例如管道,FIFO,消息队列,信号量和共享存储,可以允许一台计算机上的进程通信。 而套接字网络进程通信接口,不仅实现了一台计算机的通信,还能够进行网络进程间通信。 一、四层协议栈 数据链路层 网卡接口的网络驱动程序,处理数据在物理媒介上的传输;不同的物理网络具有不同的电气特性,网络驱动程序隐藏实现细节,为上层协...

更新Linux下openssl路径和库路径

更新Linux下openssl路径和库路径 参考ubuntu 中更新openssl库 新版openssl路径为老师博客中默认的路径/root/rocopenssl mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/include/openssl /usr/include/openssl.bak ln -s...

zynq_ps端点亮led灯代码

#include "stdio.h"#include "xparameters.h"#include "xgpiops.h"#include "sleep.h" //ps_led#define MIO15_LED 15#define GPIO_DEVICE_ID XPAR_XGPIOPS_0_DEVICE_ID XGpioPs_Config *Config...

句子相似度计算方法

W~J~T~E 一、基本方法  在做自然语言处理的过程中,我们经常会遇到需要找出相似语句的场景,或者找出句子的近似表达,那么求句子相似度方法有哪些呢? 编辑距离计算 杰卡德系数计算 TF 计算 TFIDF 计算 Word2Vec 计算  1)Word2Vec:其实就是将每一个词转换为向量的过程   这里我们可以直接下载训练好的 Word2Vec 模型,...

android编译系统的makefile文件Android.mk写法

(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件,即要编译的文件。由于一般情况下 Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式: LOCAL_PATH:=$(call my-dir) 上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。 (2)Android.mk中可以定义多个编...