C++ std::map

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ std::map相关的知识,希望对你有一定的参考价值。

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

初始化:

    #include "map"   //引入头文件

    std::map <int, std::string> _map1;  //初始化

	//c++11中引入的,可以直接在初始化时赋值
	std::map <int, std::string> _map =   
	{
		{0,"11"},
		{2,"22"},
		{3,"33"},
	};

插入:

// 如果已经存在键值200,则会作赋值修改操作,如果没有则插入
	_map[200] = "booomm";
//通过insert插入
	_map.insert(std::pair<int, std::string>(4, "33333"));

取值:

用at和[]:

//Map中元素取值主要有at和[]两种操作,at会作下标检查,而[]不会。
	std::cout<< _map.at(100).c_str()<< std::endl;//使用at会进行关键字检查,因为没有100因此该语句会报错
	std::cout << _map.at(4).c_str() << std::endl;//因为已经有4了,不会报错
	
	std::cout << _map[300].c_str() << std::endl;//ID_Name中没有关键字200,使用[]取值会导致插入,因此不会报错,但打印结果为空

https://blog.csdn.net/weixin_34218579/article/details/93655976

以上是关于C++ std::map的主要内容,如果未能解决你的问题,请参考以下文章

Cython C++ 和 std::map 处理

C++ std::map

C++ std::map 和 std::vector 的优点? [关闭]

c++ map怎样根据索引的内容查找到key

模板类值的 C++ std::map

最小化锁争用 c++ std::map