我们都知道, 当map不存在某key时, 如果用下标操作, 便会产生新key。 因此, 要特别注意

#include <iostream>
#include <map>
#include <string>
using namespace std;  int main()
{  map<string, string> m;  m["k1"] = "good";  if(m["k3"] == "")  {  cout << "no k3" << endl;  // do things  }  else  {  cout << "has k3" << endl;  // do things  }  if(m.find("k3") == m.end())  {  cout << "no k3, to do things" << endl;  // do things  }  else  {  cout << "has k3, to do things" << endl;  // do things  }  return 0;
}  

先说说结果:

no k3
has k3, to do things

最好对it->second是否为empty进行判断。  作为程序员, 不要依赖于未知假设。

STL中map的使用要点相关推荐

  1. c++ map是有序还是无序的_C++ STL中Map的按Key排序和按Value排序

    map是用来存放键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行存储就是个不错的选择. 我们这样定义 ...

  2. stl中map函数_map :: empty()函数以及C ++ STL中的Example

    stl中map函数 C ++ STL映射:: empty() (C++ STL map::empty()) It is built-in function in C++ STL and used to ...

  3. STL 中map的用法详解

    STL 中map的用法详解 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可 ...

  4. stl中map函数_map :: max_size()函数,以及C ++ STL中的Example

    stl中map函数 C ++ STL映射:: max_size() (C++ STL map::max_size() ) It returns the maximum number of elemen ...

  5. C++ STL中Map的按Key排序和按Value排序

    map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行 ...

  6. STL中map用法详解

    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候 ...

  7. [转] STL中map用法详解

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

  8. STL中map和string, vector 用法详解

    1. map 用法详解 std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成 ...

  9. c语言的erase函数,[转] C++ STL中map.erase(it++)用法原理解析

    总结一下map::erase的正确用法. 首先看一下在循环中使用vector::erase时我习惯的用法: for(vector::iterator it = vecInt.begin(); it ! ...

最新文章

  1. 图论 ---- C. Nastya and Unexpected Guest(图上最短路dp + 01bfs)
  2. 在不使用notifyDataSetChanged()方法,怎样选中Item中的内容
  3. PL/SQL学习笔记-过程
  4. 语义匹配(一)【NLP论文复现】Sentence-BERT 句子语义匹配模型的tensorflow实现以及训练Trick
  5. NYOJ 26 孪生素数问题
  6. Java数据结构--HashTable(拉链法)
  7. java 音频对比_java – 比较两个不同的音频文件不起作用
  8. ubuntu安装可加速播放打视频播放器vlc
  9. java日期算前一天_java 根据系统日期获取前一天、后一天时间(根据初始日期推算出期望(向前/向后)日期)...
  10. Oracle序列生成器
  11. BZOJ 3531[Sdoi2014]旅行
  12. 白山搜索引擎优化收费_在网络推广中,SEO排名优化是成本最低的方式
  13. n型半导体和p型半导体的区别_NPN型三极管和PNP型三极管有什么区别?
  14. CPC客户端从写作到提交成功的巨坑
  15. 金蝶K3案例教程目录2022
  16. ds18b20工作原理和测温原理介绍
  17. archive = ZipFile(filename, ‘w‘, ZIP_DEFLATED, allowZip64=True)—— 已解决
  18. axure 设置背景虚化_axure 设置背景虚化_「PPT素材」 77幅各种墙面砖墙纹理背景...
  19. 基于Ubuntu搭建CTFd平台(全网最全)
  20. Aspect获取目标方法中带特定注解的参数值

热门文章

  1. 35.6. /etc/dnsmasq.d/dnsmasq.address.conf
  2. 安全随笔2:对称加密应用场景
  3. iOS开发~UI布局(二)storyboard中autolayout和size class的使用详解
  4. 9、C语言 —— 指针的用处
  5. 数据库SQL ServerSQL Server教程:详细学习游标
  6. CharSequence类
  7. Linux 监控命令 iostat
  8. yum查询已经安装mysql_通过yum安装mysql
  9. 银行it现状调研_中央银行系统行业现状调研分析及发展趋势预测报告(2019年版)...
  10. alsa 测试 linux_Electron 构建步骤 (Linux)