以下代码演示了如何在ACE_Unbounded_Queue这个队列容器中存储具体的数据元素和数据元素的指针。

// ACEqueue.cpp : Defines the entry point for the console application.
// #include "stdafx.h"
#include "ace/OS_Memory.h"
#include "ace/Log_Msg.h"
#include "ace/Containers.h" //演示队列元素存储具体的元素
int runStackUnboundedQueue (void)
{
ACE_TRACE ("QueueExample::runStackUnboundedQueue"); //在队列头部插入 0 --- 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
ACE_Unbounded_Queue<int> queue;
int elem1[10];
int i;
for (i = 0; i < 10; i++)
{
elem1[i] = i;
queue.enqueue_head (elem1[i]);
} //在队列尾部插入 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
int elem2[10];
for (i = 0; i < 10; i++)
{
elem2[i] = i + 10;
queue.enqueue_tail(elem2[i]);
} //队列输出
for (ACE_Unbounded_Queue_Iterator<int> iter (queue); !iter.done (); iter.advance ())
{
int *elem = 0;
iter.next (elem);
printf("%d ", *elem);
}
printf("\n"); return 0;
} //演示队列元素存储指针
int runHeapUnboundedQueue (void)
{
ACE_TRACE ("QueueExample::runHeapUnboundedQueue"); ACE_Unbounded_Queue<int*> queue;
for (int i = 0; i < 20; i++)
{
int *elem = new int;
*elem = i;
queue.enqueue_head(elem);
} for (ACE_Unbounded_Queue_Iterator<int*> iter= queue.begin (); !iter.done (); iter.advance ())
{
int **elem = 0;
iter.next(elem);
printf("%d ", **elem);
delete (*elem);
} return 0;
} int _tmain(int argc, _TCHAR* argv[])
{
runStackUnboundedQueue();
runHeapUnboundedQueue();
getchar();
return 0;
}

ACE 容器之三 ACE_Unbounded_Queue的使用的更多相关文章

  1. [转载]ACE的陷阱

    转自: http://blog.csdn.net/fullsail/article/details/2915685 坦白说,使用这个标题无非是希望能够吸引你的眼球,这篇文章的目的仅仅是为了揭示一些AC ...

  2. 深入理解IOC模式及Unity框架

    研究了下,有几篇博客确实已经说得很清楚了 1.IoC模式:http://www.cnblogs.com/qqlin/archive/2012/10/09/2707075.html  这篇博客是通过一个 ...

  3. Unity系列文章

    1.IoC模式:http://www.cnblogs.com/qqlin/archive/2012/10/09/2707075.html  这篇博客是通过一个播放器的例子来说明什么是依赖,依赖倒置,控 ...

  4. [转][Prism]Composite Application Guidance for WPF(6)——服务

      [Prism]Composite Application Guidance for WPF(6)——服务                             周银辉 在Ioc和DI中,最熟悉的 ...

  5. Docker入门之三容器

    上一篇博客学习了下镜像,今天来学习容器.容器类似一个手机中的沙盒环境,用来运行app实例.和镜像一样也是对容器的创建.删除.导出等. 由于我买的参考书中的例子好多都是基于linux的,所以我将dock ...

  6. C#转Java之路之三:多线程并发容器即线程安全的容器

    CopyOnWriteArrayList 和 CopyOnWriteArraySet: 是java中两个比较重要的并发容器.适用于读多于写的场景,且集合数据不太大的场合. 特别是CopyOnWrite ...

  7. 【Docker学习之三】Docker查找拉取镜像、启动容器、容器使用

    环境 docker-ce-19.03.1-3.el7.x86_64 CentOS 7 一.查找.拉取镜像.启动容器1.查找镜像-docker search默认查找Docker Hub上的镜像,举例:D ...

  8. openshift 容器云从入门到崩溃之三《安装openshift》

    准备好环境,在安装之前请先了解openshift提供的ansible有大量的安装选项 文档地址:https://docs.okd.io/latest/install/configuring_inven ...

  9. Fragment详解之三——管理Fragment(1)

    相关文章: 1.<Fragment详解之一--概述>2.<Fragment详解之二--基本使用方法>3.<Fragment详解之三--管理Fragment(1)>4 ...

随机推荐

  1. JAVA进阶-注解

    注解元数据分为4部分分别为Target,Documented,Inherited,Retention: Target>指定被注解的注解仅仅能使用在某个类型上;ElementType指定其类型:能 ...

  2. Hibernat之关系的处理一对一处理

    第一步:编写两个pojo,比如一个学生表一个班级表  这里使用注解. 需要 公司表: package com.qcf.pox; import javax.persistence.CascadeType ...

  3. 一步一步写算法(之prim算法 中)

    原文:一步一步写算法(之prim算法 中) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] C)编写最小生成树,涉及创建.挑选和添加过程 MI ...

  4. CSS背景图片定位

    原文:CSS背景图片定位 在网页开发中我们经常需要对图片进行分割(如下图)来使用,而不是分别提供单独的图片来调用,常见的如页面背景,按钮图标等,这样做的好处就是减少请求次数,节省时间和带宽. 对背景图 ...

  5. IISExpress配置文件

    ASP.NET MVC IISExpress配置文件的一个坑 现象: 昨天在处理PBS系统问题的时候意外发现两个js错误(而同样的代码在同事机器上都没有问题),如下图. 图1 图2 图3 原因分析: ...

  6. 搭建环境Visual Studio 2013 社区版

    搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio Community 2013 开发环境. Visual St ...

  7. MSSQL2008数据库备份还原和数据恢复

    原文:MSSQL2008数据库备份还原和数据恢复   序言 一直想写一篇关于数据库备份与恢复的文章,但基于能力的有限对数据库认知的有限怕不足以准确的表达,最后思考很久还是决定把自己的一些理解写出来供大 ...

  8. jquery实现文字上下滚动效果

    文字上下滚动是经常用到的js效果,这里介绍一种上下渐隐渐出的文字展现效果! 代码实现很简单,只需要引入jquery就可以. 代码如下: <!DOCTYPE> <head> &l ...

  9. WINHTTP的API接口说明

    BOOL WINAPI WinHttpAddRequestHeaders(   _In_  HINTERNET hRequest,   _In_  LPCWSTR pwszHeaders,   _In ...

  10. 使用rem设计移动端自适应页面三(转载)

    使用rem 然后根据媒体查询实现自适应.跟使用JS来自适应也是同个道理,不过是js更精确一点.使用媒体查询: html { font-size: 62.5% } @media only screen ...