mmap1.cpp

来自「stl自带源码」· C++ 代码 · 共 66 行

CPP
66
字号
/* The following code example is taken from the book * "The C++ Standard Library - A Tutorial and Reference" * by Nicolai M. Josuttis, Addison-Wesley, 1999 * * (C) Copyright Nicolai M. Josuttis 1999. * Permission to copy, use, modify, sell and distribute this software * is granted provided this copyright notice appears in all copies. * This software is provided "as is" without express or implied * warranty, and with no claim as to its suitability for any purpose. */#include <iostream>#include <map>#include <string>#include <iomanip>using namespace std;int main(){    // define multimap type as string/string dictionary    typedef multimap<string,string> StrStrMMap;    // create empty dictionary    StrStrMMap dict;    // insert some elements in random order    dict.insert(make_pair("day","Tag"));    dict.insert(make_pair("strange","fremd"));    dict.insert(make_pair("car","Auto"));    dict.insert(make_pair("smart","elegant"));    dict.insert(make_pair("trait","Merkmal"));    dict.insert(make_pair("strange","seltsam"));    dict.insert(make_pair("smart","raffiniert"));    dict.insert(make_pair("smart","klug"));    dict.insert(make_pair("clever","raffiniert"));    // print all elements    StrStrMMap::iterator pos;    cout.setf (ios::left, ios::adjustfield);    cout << ' ' << setw(10) << "english "         << "german " << endl;    cout << setfill('-') << setw(20) << ""         << setfill(' ') << endl;    for (pos = dict.begin(); pos != dict.end(); ++pos) {        cout << ' ' << setw(10) << pos->first.c_str()             << pos->second << endl;    }    cout << endl;    // print all values for key "smart"    string word("smart");    cout << word << ": " << endl;    for (pos = dict.lower_bound(word);         pos != dict.upper_bound(word); ++pos) {            cout << "    " << pos->second << endl;    }    // print all keys for value "raffiniert"    word = ("raffiniert");    cout << word << ": " << endl;    for (pos = dict.begin(); pos != dict.end(); ++pos) {        if (pos->second == word) {            cout << "    " << pos->first << endl;        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?