把Map用作关联式数组

MapAdvanceTest.cpp

#include <map>
#include <string>
#include <iostream>
#include <iomanip>
#include "MapAdvanceTest.h"
#include "../../Core/ContainerUtil.h" using namespace std; void MapAdvanceTest::useAsAssociativeArray()
{
// create map / associative array
// - keys are strings
// - values are floats
typedef map<string, float> StringFloatMap; StringFloatMap stocks; // create empty container // insert some elements
stocks["BASF"] = 369.50;
stocks["VW"] = 413.50;
stocks["Daimler"] = 819.00;
stocks["BMW"] = 834.00;
stocks["Siemens"] = 842.20; // print all elements
ContainerUtil<StringFloatMap>::printMapInDiv(stocks, "Stock", "Price", ); // boom (all prices doubled)
StringFloatMap::iterator pos;
for (pos = stocks.begin(); pos != stocks.end(); ++pos) {
pos->second *= ;
} // print all elements
ContainerUtil<StringFloatMap>::printMapInDiv(stocks, "Stock", "Price", ); // rename key from "VW" to "Volkswagen"
// - provided only by exchanging element
stocks["Volkswagen"] = stocks["VW"];
stocks.erase("VW"); // print all elements
ContainerUtil<StringFloatMap>::printMapInDiv(stocks, "Stock", "Price", );
} void MapAdvanceTest::run()
{
printStart("useAsAssociativeArray()");
useAsAssociativeArray();
printEnd("useAsAssociativeArray()");
}

运行结果:

---------------- useAsAssociativeArray(): Run Start ----------------
Stock: BASF Price: 369.5
Stock: BMW Price: 834
Stock: Daimler Price: 819
Stock: Siemens Price: 842.2
Stock: VW Price: 413.5

Stock: BASF Price: 739
Stock: BMW Price: 1668
Stock: Daimler Price: 1638
Stock: Siemens Price: 1684.4
Stock: VW Price: 827

Stock: BASF Price: 739
Stock: BMW Price: 1668
Stock: Daimler Price: 1638
Stock: Siemens Price: 1684.4
Stock: Volkswagen Price: 827

---------------- useAsAssociativeArray(): Run End ----------------

STL - 容器 - Map(二)的更多相关文章

  1. STL容器 -- Map

    核心描述: map 就是从键(key) 到 值(value) 的一个映射.且键值不可重复,内部按照键值排序. 头文件: #include <map> 拓展: multimap 是一个多重映 ...

  2. STL容器Map

    Map的常见函数 Map的实现机制 STL中的Map底层实现机制是RB树(红-黑树)

  3. STL - 容器 - Map(一)

    MapTest.cpp #include <map> #include <string> #include <iostream> #include <algo ...

  4. STL中map与hash_map容器的选择收藏

    这篇文章来自我今天碰到的一个问题,一个朋友问我使用map和hash_map的效率问题,虽然我也了解一些,但是我不敢直接告诉朋友,因为我怕我说错了,通过我查询一些帖子,我这里做一个总结!内容分别来自al ...

  5. C++(二)— STL容器的基本用法

    1.vector基本操作 关于vector简单的讲就是一个动态增长的数组,里面有一个指针指向一片连续的内存空间,当空间装不下的时候会自动申请一片更大的空间(空间配置器)将原来的数据拷贝到新的空间,然后 ...

  6. STL容器——对map排序

    STL容器(三)——对map排序 对于map的排序问题,主要分为两部分:根据key排序:根据value排序.下面我们就分别说一下~ 1. 根据key进行排序 map默认按照key进行升序排序 ,和输入 ...

  7. 【STL容器学习】-关联容器与map的用法

    STL提供了4个关联容器:set.multiset.map和multimap.这些容器提供了通过keyword高速存储和訪问数据元素的能力.Set和map不同意有反复keyword,而multiset ...

  8. C++ STL 中 map 容器

    C++ STL 中 map 容器 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它 ...

  9. 使用C++STL的map容器实现一种命令映射

    因为最近在练习写一个ftp的服务器,其中的命令有很多种,每个命令对应一个执行函数,能够想到的最简单的实现方式便是使用if--else匹配命令和执行对应的函数,如下所示: if(strcmp(" ...

随机推荐

  1. Express应用程序目录结构

    1.Node安装与使用 网上有很多Node的安装教程,可以做参考 2.MongoDB的安装与使用 MongoDB安装也有很多教程,可以去网上找找 3.初始化一个express项目 使用express框 ...

  2. 更好的浏览器动画实现 requestAnimationFrame

    requestAnimationFrame 是专门为实现高性能的帧动画而设计的一个API: js一般是借助setTimeout或setInterval这两个函数实现动画,性能不佳. css3动画,性能 ...

  3. Charles基本使用—http抓包、手机抓包、数据篡改

    本文主要介绍如下内容: 1.Charles如何抓取HTTP报文 2.Charles如何抓取手机上的HTTP包 3.使用Charles篡改数据信息 一.Charles抓取HTTP包 1.Charles的 ...

  4. 自动化运维之 ~cobbler~

    一 .Cobbler简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k 行python代码),使用简 ...

  5. Redis_常见JedisConnectionException异常分析

    最近项目开发中用到了Redis, 选择了官网推荐的java client Jedis.Redis常用命令学习:http://redis.io/commandsRedis官方推荐Java客户端Jedis ...

  6. PHP常量定义之define与const对比

    简要归纳PHP中两个常量定义关键字的区别: 1.define是函数,const是语言结构,PHP编译时const速度快.2.define只能用在类外,const类内类外皆可.3.define定义的常量 ...

  7. Content portal for Pocketables Tasker articles

    http://www.pocketables.com/2013/03/overview-of-pocketables-tasker-articles.html I write a lot about ...

  8. Lua中调用C函数(lua-5.2.3)

    Lua能够调用C函数的能力将极大的提高Lua的可扩展性和可用性. 对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们全然能够通过C函数来实现,之后再通过Lua调用指定的C函数. 对于那些可 ...

  9. QDAC

    QDAC GITHUB: svn://www.qdac.cc/QDAC3 包括QMsgPack\QJson\QWoker...等序列和事件调度控件.

  10. 将properties文件放在Jar包并读取

    有时候需要在一个library内部打包一个properties文件,包含一些配置信息,而不能部署在外部. 在maven工程里面,将properties文件放在src/main/resources目录下 ...