几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   vc编程 (http://www.dimcax.com/hust/forumdisplay.php?f=76)
-   -   【转帖】map的使用 (http://www.dimcax.com/hust/showthread.php?t=2168)

huangyhg 2008-10-27 11:02 AM

【转帖】map的使用
 
当我们遇到字符串与整数的映射关系时,用map使用很方便,所以我就整理了一些关于map的使用方法:
1、map的头文件是map.h
2、map的定义
如map<string,int>word,这样就定义了map的字符串到整数的对象word(就对象名),也可以定义整数到字符串的对象,具体看什么情况。注意定义时不能用char*。
具体例子如下:
map<string,int>age; //定义姓名到年龄的映射
age["zhangsan"]=20;
age["lisi"]=21;
下面介绍map的一些函数:
1、clear()
就是清除map对象的所有内容
如age.clear();这样就清楚了age的内容
2、erase(key)
删除key对应的元素
如age.erase("lisi");就删除了lisi的信息
3、size()
获取对象的元素个数
如n=age.size();则n=2(上面定义了2个元素);
4、begin()
获取对象的第一个元素的指针
5、end()
获取对象的最后一个元素的指针
6、find(key)
查找key对应的元素

typedef map<string,int>maps;
maps age;
maps::iterator it;
it=age.find("wangwu");
如果找到"wangwu"的元素,就返回它所对应的元素指针,否则就指向end();
7、元素的访问或遍历举例
typedef map<string,int>maps;
maps age;
age["zhangsan"]=20;
age["lisi"]=21;
maps::iterator it;
for(it=age.begin();it!=age.end();it++)
{
cout<<"name:"<<it->first<<" age:"<<it->second<<endl;
//显示各元素的值,first为string的内容,second为int的内容
}
最后输出为
name:zhangsan age:20
name:lisi age:21


所有的时间均为北京时间。 现在的时间是 10:40 AM.