bycj.net
当前位置:首页 >> C++中P.J.PlAugEr STL和SGI STL中mAp的区别 >>

C++中P.J.PlAugEr STL和SGI STL中mAp的区别

P.J. Plauger STL和SGI STL中map的erase方法实现是有区别的,其中Windows下常用的是P.J. Plauger STLP,Linux下是SGI STL,SGI STL实现了标准的STL规范..J. Plauger STL:for(ITER iter = mapTest.begin(); iter != mapTest.end();) { iter = mapTest.erase(iter); } SGI STL:for(ITER iter = mapTest.begin(); iter != mapTest.end();) { mapTest.erase(iter++); }

STL是标准模板库的简称,从94年7月开始纳入C++标准后得到迅速发展,形成了不同的版本.目前使用最广的是SGI STL和STLport. STL本质上是为了配合SGI自作的UNIX变体IRIX所量身定做,好在STL都是一些标准接口和实现的头文件,随着大师们的不断改进,移植起来不太复杂.

在STL中基本容器有: string、vector、list、deque、set、map set 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问 set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少 map:映射,相当于字典,把一

map和unordered_map都是c++标准库中提供的映射实现,只不过unordered_map是c++11标准中新加的,以往的c++编译器中大多不支持. 区别为map一般是基于红黑二叉树来实现的,而unordered_map则是基于哈希表的实现,显然从性能上来说,我们更期望使用基于哈希的实现 因为c++11之前的标准中没有关于哈希实现的map,但是这又是一个非常实用的功能,所以很多stl的实现中就包含了自己的hash_map,但是现在已经不需要了,尽量使用标准库中的unordered_map

vector,list,deque和map 主要的区别还是数据结构上的区别.vector是动态数组,vector<int> 可以存int型数据,用户只要存就好.不用考虑空间不够再申请空间的情况.list 链表,deque 是双向队列 ,先进先出,后进后出.map是图.提供关键字用于查找.map<int,string> 可以根据int 找string.

vector,list,deque和map 主要的区别还是数据结构上的区别. vector是动态数组,vector 可以存int型数据,用户只要存就好.不用考虑空间不够再 申请空间的情况. list 链表,deque 是双向队列 ,先进先出,后进后出.map是图.

vector,list,deque和map 主要的区别还是数据结构上的区别. vector是动态数组,vector<int> 可以存int型数据,用户只要存就好.不用考虑空间不够再 申请空间的情况. list 链表,deque 是双向队列 ,先进先出,后进后出.map是图.提供 关键字用于查找.map<int,string> 可以根据int 找string.

vector,list,deque和map 主要的区别还是数据结构上的区别. vector是动态数组,vector<int> 可以存int型数据,用户只要存就好.不用考虑空间不够再 申请空间的情况. list 链表,deque 是双向队列 ,先进先出,后进后出.map是图.提供 关键字用于查找.map<int,string> 可以根据int 找string.

vector,list,deque和map 主要的区别还是数据结构上的区别. vector是动态数组,vector<int> 可以存int型数据,用户只要存就好.不用考虑空间不够再 申请空间的情况. list 链表,deque 是双向队列 ,先进先出,后进后出.map是图.提供 关键字用于查找.map<int,string> 可以根据int 找string.

vector list内存是连续的,deque内存是不连续的,list多用于保存指针,这三个你都可以看成数组,用法差不多,而map是保存键值对的,也就是会保存一对值

相关文档
xcxd.net | 369-e.net | zxpr.net | pxlt.net | bnds.net | 网站首页 | 网站地图
All rights reserved Powered by www.bycj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com