zoukankan      html  css  js  c++  java
  • 关联数组

    关联数组是用户定义类型中最常见的也是最有用的一类。关联数组也常被成为映射(map),有时被

    成为字典(dictionary),其中保存的是值的对偶。给定了一个称为关键码的值,我们就能访问另一个

    称为映射值的值。可以将关联数组想象为一个下标不必是整数的数组:

    template<class K, class V>class Assoc {

    public:

        V& operator[] (const K&); //返回对应于K的V的引用

    };

    这样,一个类型为K的关键码就起到作为类型为V的映射值的名字的作用。

    map要求其关键码类型提供一个小于操作,以保持自己元素的有序性。

    一个map也就是pair<const Key, mapped_type>的一个序列。

    在map上的迭代器也就是在以pair<const Key, mapped_type>为元素的序列上的迭代器。

    void f(map<string, number>& phone_book) {

        typedef map<string, number>::const_iterator CI;

        for(CI p=phone_book.begin();p!=phone_book.end();++p)

            cout<<p->first<<" "<<p->second<<" ";

    }

    复制一个容器隐含着为它的所有元素分配空间,并完成每个元素的复制工作。这样做的

    代价可能非常高,只有迫不得已时才应该去做它。因此,像map这样的容器一般通过引用

    传递。

  • 相关阅读:
    ZOJ 2859 Matrix Searching
    URAL 1102. Strange Dialog
    ZOJ 1986 Bridging Signals
    POJ 3233 Matrix Power Series
    POJ 1836 Alignment
    POJ 3267 The Cow Lexicon
    ZOJ 3471 Most Powerful
    IIS:HTTP 错误 403.9 禁止访问:连接的用户过多
    使用Command对象执行数据库操作
    C#类型转换
  • 原文地址:https://www.cnblogs.com/donggongdechen/p/9690732.html
Copyright © 2011-2022 走看看