c++ stl map 简单使用,求大神指导

#include<iostream>
#include<map>
using namespace std;
int
main()
{
map<char,string>map1;

map1.insert(pair<char,string>('c',"0c0c"));

map1.insert(pair<char,string>('b',"0b0b"));

map1.insert(pair<char,string>('a',"0a0a"));

map<char,string>::iterator iter;
cout<<endl;

for(iter=map1.begin();iter!=map1.end();iter++)

cout<<iter->first<<" "<<iter->second<<endl;

return 0;
}
//这个小程序可以在DEV C++里面正确编译运行,但是在visual c++ 里面编译出错,为什么

看你的代码,唯一感觉可能错的地方是,最后一句cout

iter->second 的类型是 std::string。 貌似 cout 没有重载 const std::string & 的 operator << 版本。

修改方法是,将
iter->second
改成
iter->second.c_str()
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-08
stl的支持不同, gcc可能好点
第2个回答  2013-05-08
求补充编译错误信息

C++ map 使用方法及示例
C++ map 使用方法及示例C++ STL中的map是一种关联容器,用于存储排序的键值对,其中键是唯一的,支持插入和删除操作,但键值对的值可以修改。它以员工ID为键,姓名为值的场景为例,我们可以这样描述:语法和示例创建map时,需要指定键(key)和值(value)的数据类型,以及可选的比较类(compare,如默...

C++中map的用法总结
首先,定义一个map实例:map maps; \/\/键的类型是字符,值的类型是整数通过键进行元素的插入和访问是map的主要操作。例如,要将键为'c'的值设置为5,可以这样操作:maps['c'] = 5;要获取特定键对应的值,map提供了迭代器,如it->first获取键,it->second获取对应的值。另外,map的find函数是其...

STL教程(十):C++ STL常用容器之 map
Map容器的特点是自动排序,所有元素基于键值排列。Map中的元素形式为pair,包含实值和键值,键值决定元素排序,不允许多个键值相同。修改键值会破坏Map的结构,但可以修改实值。Map与list共享某些特性,如新增或删除元素时,操作前后迭代器保持有效(被删除元素除外)。Multimap与map相似,唯一不同是键值可以重...

C++ map用法总结(整理)
map的构造方式多样,包括默认构造、初始化列表等。最常见的构造方法是直接创建一个空map,如`map mapStudent;`。插入元素有多种方式,如通过`insert`函数插入pair,通过`map::value_type`插入,或使用下标操作符`[]`覆盖已有值。查找元素时,map会返回对应键的迭代器,如果没有找到则返回end。删除元素...

STL mapmap介绍
在C++编程中使用map容器时,需要包含头文件<map>,确保程序能访问map类提供的功能。使用map类时,可以有多种构造方式:默认构造函数:map();拷贝构造函数:map(const map& m);区间构造函数:map(iterator begin, iterator end );带比较谓词的构造函数:map(iterator begin, iterator end, const traits...

C++中map的基本使用
map本质上是一种 映射 ,其 可以将任何基本类型(包括STD容器)映射到任何基本类型(包括STL容器) 。本质上数组也是一种映射,只不过是一种局限性更大的映射,只能将int类型映射到其它类型,并且由于数组的连续性,当key的分布过于稀疏的时候,会造成大量的空间浪费。要使用map需要 #include <map> 并...

C++——map详解
本次文章,深入探讨C++中map的运用。定义:map是STL关联容器之一,提供键值一对一映射。结构:map为键值对集合,每个元素包含键与值。特性:以模板形式实现,支持任意类型数据,包括自定义类型。内部实现采用红黑树,自动排序。引入:需包含头文件<map>。命名空间:使用std命名空间。创建与初始化:定义map...

一文看懂使用C++ STL 中的哈希表
C++ STL中的哈希表,即unordered_map,是一种高效的数据结构,它通过散列函数将关键字映射到特定的存储位置,实现O(1)的查找速度。常见的散列函数有线性定址法、除留余数法、平方取中法和折叠法,尽管它们各有特点,但都旨在解决关键字间的对应关系。当发生地址冲突时,哈希表提供了多种解决策略,如...

C++map函数怎么用呢?(我只是想用他记录字符串)
include <map> using namespace std;int main(int argc,char** argv){ map<string,string> m;m.insert(pair<string,string>("1","aaa"));m.insert(pair<string,string>("2","bbb"));m.insert(pair<string,string>("3","ccc"));map<string,string>::iterator iter;for(iter=m.begin...

关于c++中stl map 的问题!!
map的存储结构是RB-tree红黑树,或者avl树。其中树的每一个节点是一个pair<typename T,typename T>.树是按照pair 的第一个字段进行排序的。这样来理解,map给你提供的功能就是 map是已经有序的,你不需要对map进行排序 map的每一个节点是pair<key,value>,按照key能找到value,并且key不能重复 map...

相似回答