map详解<一>

首先了解下pair工具类:

这个类在头文件<utility>,功能:将俩个类型可能不一样的值组合在一起。,通过first和second来访问这两个值。还定义了operator == 和operator <用来比较两个值;

看实例:

#include <iostream>
#include <map>
#include <utility>
int main()
{
    std::pair<int ,std::string> myPair(5,"hello");
    std::pair<int ,std::string> myOtherPair;

    myOtherPair.first = 4;
    myOtherPair.second = "world";

    std::pair<int,std::string> myThirdPair(myOtherPair);

    if(myPair < myOtherPair)
    {
        std::cout << "myPair < myOtherPair" << std::endl;
    }else
    {
        std::cout << "myPair > myOtherPair" << std::endl;
    }

    if(myOtherPair == myThirdPair)
    {
        std::cout << "myOtherPair == myThirdPair" << std::endl;
    } else
    {
        std::cout << "myOtherPair != myThirdPair" << std::endl;
    }
    return 0;
}

结果是:

myPair > myOtherPair
myOtherPair == myThirdPair

这个库也提供了make_pair<>的工具模板;通过make_pair()来构建一个pair;

std::pair<int,std::string> myPair = std::make_pair(4,"hello");
std::cout << myPair.first << "  " << myPair.second << std::endl;

结果是:  4  hello

map的模板接受四个参数,其中后两个参数可以省略,分别是:健,值,比较类型,分配器类型,是将健映射到值上。

猜你喜欢

转载自www.cnblogs.com/boost/p/10400488.html