PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2018-3-15 19:07:14

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

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

x

- s# w3 \# E- @2 D: o- w
: w$ _& P- T" }$ `+ m; R
7 d) R# O( v. @, F5 Z9 A
6 ~' p. j( @! t) d, P

, _5 S  z' Y3 S9 `/ {C++ STL 的实现:% X/ {6 l: l, M' w5 v

+ ]4 ^. p/ |  g  K- Q6 N4 U1 b2 O2 |

$ g$ q: H8 e3 s) K1.vector  底层数据结构为数组 ,支持快速随机访问) L1 B. @& r- ~3 L" Q2 d$ S
; o/ L$ q9 i# n$ s9 D4 `# H) [
! j8 R& b8 e1 c) v# k
2.list    底层数据结构为双向链表,支持快速增删
1 |+ W7 d  Y# q2 d5 H4 Z5 \& u
7 J4 c1 S. Z. b
- _" `4 [% P9 Z5 `* ]( D% \
3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问% M3 N; [$ s8 F  ]- P- p

- c3 i! N  |9 h1 @& ~

9 p  k, l4 z' f9 x& p; {  {4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
2 m9 }# `- W) U0 @$ L
0 A6 d  p/ {& [
+ V9 q$ |) [' V+ i
5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
" `' {$ x0 A4 a5 U8 H& c
& R' Z3 O4 Q; O* f

0 w0 a8 K" C$ {6 D9 ~6.45是适配器,而不叫容器,因为是对容器的再封装5 M$ g* {4 {6 v1 J  }. F: J
6 Z- T0 Z' p, l& Z8 Y# @$ i! |# A
3 r) N7 s, Z' P2 E  ^) _2 d
7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现/ u+ p* h7 r6 i9 F& ?
; m& V4 G# Y0 P5 b7 ]2 }

. n' N/ g2 J7 C- L9 H& T( z8.set       底层数据结构为红黑树,有序,不重复
: ]1 z% B, x$ P+ h1 W: T& s) @5 z! Q. b% _
! n# m6 y7 V( e% f+ V% Q
9.multiset  底层数据结构为红黑树,有序,可重复 2 ]. z; c8 E  y3 }
7 K+ T) v( `8 W" x& g
* w; B2 {4 X2 q: i  s/ ~" W
10.map      底层数据结构为红黑树,有序,不重复$ B$ z1 Y/ {9 n( ]  F0 `. m
* T7 d5 m! m8 W1 i$ U

. ?1 ~1 v8 `" V7 y8 }11.multimap 底层数据结构为红黑树,有序,可重复
. y( U; @, `0 ]
, q; y- _% E# X$ |

, r" E# O' _: c% G/ v, `12.hash_set 底层数据结构为hash表,无序,不重复+ e- d% a* b6 G+ s5 C0 j

2 ]: g( A3 |) R8 S/ P

2 g, m% G$ c% K! i& i13.hash_multiset 底层数据结构为hash表,无序,可重复
% V1 K# f3 P: N- |' i2 d6 Q5 I! ]6 |5 n9 s) \: d7 c
; M  e/ R& R& G
14.hash_map      底层数据结构为hash表,无序,不重复6 m) K1 Q  |; `( `
' F7 Y+ M; }0 q$ v% h% ?: y
. X/ J, V/ S9 p$ I
15.hash_multimap 底层数据结构为hash表,无序,可重复
0 ?/ F" X; p9 l( l7 A; O+ N) C% I. x0 ?2 L
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了