PLM之家PLMHome-工业软件践行者

[转载电子书] C++ STL相关使用特点大全,太有用了

[复制链接]

2018-3-15 19:07:14 2497 0

admin 发表于 2018-3-15 19:07:14 |阅读模式

admin 楼主

2018-3-15 19:07:14

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
8 u! }  q9 H$ C& N. K4 f

# t9 `7 g& x, k2 Y
% M$ N4 w1 `; }9 r  m) a
3 K7 x6 B( T% X( P- w. j0 d

  K9 E$ K3 Q6 N2 I/ t3 P. {5 {C++ STL 的实现:, c+ x- j# \; J8 y- r
* |& |! Q  s- i2 g' c6 Q9 v# d
6 C6 k) q1 p  q0 |, Q6 H5 ^, I3 V
1.vector  底层数据结构为数组 ,支持快速随机访问
' S, H$ `6 J/ @; U" k6 l+ z7 s1 D8 O6 C  E% V$ i: t

/ V( p" a/ u2 ~/ S2 ^# i" p) @2.list    底层数据结构为双向链表,支持快速增删
2 m# r, A( C/ p2 E* X
$ A1 J4 z5 M. _2 M! w: V

, `$ k  S5 N% Q6 ?* a- v- r& R3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问9 U' U4 x. l+ ^! W. i
5 D% H; C! X9 I% l
* ^" u( p; Z: g
4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时4 S( t: n# |4 W' v6 O. J
6 ^3 F' |7 Q7 C  w# ]
6 S5 ?7 ?' ]2 f$ Y: _1 ?% _; k
5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
5 u" [! J3 R+ H) y  B# x) x
# U; x6 I0 a' h2 Z6 p

4 J. V9 A- I; ~, U6.45是适配器,而不叫容器,因为是对容器的再封装+ E* s  a7 ?: T

, Y( V, p- z1 Q. a% A

9 V' ?8 ~8 w" ]6 {. ]7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现% `- V  d: C6 f6 ]+ |

) B8 I& T# z& x( @* U+ y

0 ?. q) L+ S4 y+ U8.set       底层数据结构为红黑树,有序,不重复, {. k* p6 I, T3 f6 h5 e. C

5 ]  r: U5 r$ }# B* w2 `

+ K) }5 s. p) F$ @9.multiset  底层数据结构为红黑树,有序,可重复 7 I( o2 B* U) I$ o, V% e. O& N- Z

" O. R! t8 F* k+ x6 O( y

- k/ {- S( M) _4 p6 h10.map      底层数据结构为红黑树,有序,不重复: ^5 M5 D$ t0 G
2 s0 j# z6 y, W& I# C; X9 v
. P6 ~2 J+ i# b) w
11.multimap 底层数据结构为红黑树,有序,可重复
* ]1 g8 v4 f5 G) f+ D: C, Y) v2 _4 b2 o+ p: f

6 D# U$ I( T. Q4 z' H& T12.hash_set 底层数据结构为hash表,无序,不重复. `$ ]8 s2 @$ _; K! L/ Z
) u  y4 t, B% s8 w; }

( V) k+ ^9 D9 J6 d13.hash_multiset 底层数据结构为hash表,无序,可重复
' L! w+ r: N. L  m) c4 f' N& `. P3 j
' k; c- O3 Q, b  g/ `1 ~
14.hash_map      底层数据结构为hash表,无序,不重复
0 a4 X* b! Y+ T# h& |6 y7 R
+ S7 w1 m( _4 q& W7 D

" z7 ]* q" J- l" \( g9 C15.hash_multimap 底层数据结构为hash表,无序,可重复
  x4 Z. w7 P9 T% ?8 h/ Y5 Q! J  \' D' I% d" y/ R! d9 y
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了