c++ std::map使用注意

原创 2015年07月09日 14:42:47

在使用std:map時需要判斷某個key是否存在map中,

需要使用方法find,操作符[] 不能使用


如下

std:map<int,int> test

//判斷map中是否存在key為200的健值對。


if(test[200] == null) {// 這種方法有風險,原因是這個操作如果key在map中不存在,則為200在map中創建一個默認值。

//TODO

}

if(test.find(200) != m_heroMap.end()) {// 正確方法

//TODO

}


方法的註釋說明

       *  Allows for easy lookup with the subscript ( @c [] )

       *  operator.  Returns data associated with the key specified in

       *  subscript.  If the key does not exist, a pair with that key

       *  is created using default values, which is then returned.

版权声明:本文为博主原创文章,未经博主允许不得转载。

std::map的一些常见用法和个别注意事项

声明:这篇文章中有参考引用(已表明)。 1、map中添加元素 首先map中的键值(key)存入的时候是以常量的类型存入的,我们可以从map的成员函数value_type看出。 typ...
  • u013617648
  • u013617648
  • 2015年05月19日 11:12
  • 601

C++学习 std::map介绍

给出了map的基本用法如插入、查找、删除、遍历等等,同时告诉你如何实现双键map,包括  (1) 只有两个键都匹配才命中目标 (2) 两个键中任意一个匹配就命中目标 可以扩展到多键 (...
  • skdkjxy
  • skdkjxy
  • 2015年02月03日 20:16
  • 3131

STD::MAP与结构体的互转

问题描述大概如下,一个已经存在的库a.lib,和服务器通信,全是通过结构体,或者基本数据类型进行的,现在额另外一个框架f,提供了c++和js交 互的方法,但只支持基本数据类型,std 容器,js里面的...
  • wangweitingaabbcc
  • wangweitingaabbcc
  • 2015年08月05日 14:13
  • 1098

C++ STL中哈希表Map 与 hash_map 介绍

0 为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: ...
  • txl16211
  • txl16211
  • 2016年04月06日 15:00
  • 5330

C++中std::map的使用

C++中std::map的使用
  • fengbingchun
  • fengbingchun
  • 2016年07月30日 18:38
  • 2552

慎用C++ std::map 的[]运算符

map的[]运算符在用法上和我们对[]常规理解大有出入,因此也往往很容易造成了使用上的失误,在这点上我强烈认为stl设计犯了大错。首先看其函数声明:T& operator[] ( const key_...
  • roofalison
  • roofalison
  • 2008年09月18日 13:48
  • 7026

[C++/object c]_[初级]_[std::map容器的使用总结和NSDictionary词典使用总结]

map容器 场景:map的元素是一对对的“关键字―值”组合,“关键字”用于搜寻,而“值”用来表示我们要存取的数据。 在map容器中,每个关键字只能出现一次,不能重复 void TestMap() { ...
  • moqj_123
  • moqj_123
  • 2015年06月06日 23:08
  • 1685

map中结构体做关键字的注意事项

序: 今天做一道题,由于递归函数比较恶心,如果用记忆话搜索,数据范围极大却又用不全(二维数组存的话直接炸)。所以决定干脆使用stl::map存储(反正有O2优化),但是执行insert的时候,编译器...
  • kongse_qi
  • kongse_qi
  • 2017年05月07日 19:39
  • 312

std::map更新数值前是否需要初始化

ISO/IEC 14882 §23.4.4.3 T& operator[](const key_type& x); Effects: If there is no key equivalent...
  • matrixyy
  • matrixyy
  • 2016年06月10日 03:25
  • 1604

std::map容器序列化、反序列化测试

// testSerialize.cpp : Defines the entry point for the console application. // #include "stdafx.h" ...
  • lee353086
  • lee353086
  • 2014年09月16日 09:15
  • 3225
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++ std::map使用注意
举报原因:
原因补充:

(最多只允许输入30个字)