map 键值

来源:互联网 发布:淘宝卖童装怎么样 编辑:程序博客网 时间:2024/05/14 10:24

map <K,   V> ::key_type 
在map容器内,用做索引的键的类型   

map <K,   V> ::mapped_type 
在map容器中,键所关联的值的类型   

map <K,   V> ::value_type 
map的值类型:一个pair类型,它的first元素具有的 
const   map <K,   V> ::key_type类型,而second元素 
则为map <K,   V> ::mapped_type类型

 

在VC8(VS2005)中,是这么定义的: 

typedef   _Ty   mapped_type; 
typedef   _Ty   referent_type; //   retained 

其中第一个mapped_type是为了符合标准,第二个referent_type则是为了兼容用VC6写的代码,所以加了 "retained "注释。 

建议尽量写符合标准的代码,以便兼容其他的编译器。 
如果还是用VC6,建议用宏替换,类似这样: 
#define   _COMPILER_VC6   //   这个可以放在编译选项中:   /D   "_COMPILER__VC6 "   

#ifdef   _COMPILER_VC6   //   for   VC6 
#define   mapped_type   referent_type   
#endif 

代码中还是mapped_type,以后不使用VC6,不定义_COMPILER_VC6   就可以了   。