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
( Y4 v0 p8 Y; j& X3 V
2 Q; V8 I7 c& K+ S1 {; ~
2 m( {4 I4 r1 V* O" s  R1 Q- T

$ F1 m& t) V* k% X2 }, w; }" J7 o7 A9 b

" `5 w0 |$ ^6 q: t7 g  n# bC++ STL 的实现:
# x0 V7 [2 K! m& W
1 h) ^4 X" N! R

' C( [! w; ^( B: `6 T# o1.vector  底层数据结构为数组 ,支持快速随机访问$ P: r) w2 W% w% v) J0 w8 e+ E
  x6 K+ H: H: f1 R- u) V/ c
# ^2 {% [. j2 [2 A+ [$ n8 i
2.list    底层数据结构为双向链表,支持快速增删3 J+ ^0 X4 E6 R6 P! }
+ X$ D0 P: f+ |7 z
- T* O1 k; V0 @3 a  P
3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问' R; L+ }- a, W+ G/ W

- V$ S( v9 l- [3 \7 N, D+ N

! i# O+ q. x% g8 T( A- Z+ A) ^4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时/ B+ ]( [/ a* s4 w1 K( [9 i% H
0 w2 s! U  j8 s# J0 F
6 i, A% G' U  P; M% q. y" ?1 V
5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时* ?1 Y% v) p6 m* G

) e7 q, I7 T) V' [  x3 O

6 S. R3 W* k) n" Z6 @' V+ T6.45是适配器,而不叫容器,因为是对容器的再封装
3 A2 B' n6 z$ o, S3 P1 w9 Q
- U- q5 d2 q8 H) M% f7 a
4 m. N2 b% p. ^3 p# ?: b. t
7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现2 q" Q  N. t0 P' |

! F# x& S0 }3 W+ f. @8 [
5 b( g  Z3 U0 Y
8.set       底层数据结构为红黑树,有序,不重复
! O1 B, P5 g  @6 U1 X: i/ O" U: @' O& m& S
4 k) c4 y; P( v! ]2 c
9.multiset  底层数据结构为红黑树,有序,可重复
3 x) v, j9 h, u3 M2 h  \3 g0 {7 B; g! a

& I. D  J% e. ?* n4 l6 [3 J6 O) m10.map      底层数据结构为红黑树,有序,不重复5 _/ q' _8 ~, d3 h
1 P! R- R  i* B5 ]( A

; ~+ o! }% }1 h+ H4 V11.multimap 底层数据结构为红黑树,有序,可重复# ]8 U6 p9 X6 b& t

/ \7 ?# o% Y0 w9 D

! @; T' e# N1 f* i6 k$ O7 Q/ n12.hash_set 底层数据结构为hash表,无序,不重复( a: d1 E% }+ g' D1 E
: [- ^7 I5 v4 M1 _' {7 d. }

  Q. h- y+ X: r7 [8 a6 Y, L13.hash_multiset 底层数据结构为hash表,无序,可重复
! X' ^! J6 U! e# c- `
4 f+ N9 \! c- V* u9 ~# l! s9 e

5 J$ p4 m$ p* c2 Z14.hash_map      底层数据结构为hash表,无序,不重复) G" ~5 O4 F+ e! \+ M( E6 M2 p
" y7 W( x- @" x- U

" a5 H8 V- Z+ M/ t5 F15.hash_multimap 底层数据结构为hash表,无序,可重复 3 Q9 S5 L: x1 |" F

' }5 s1 p5 F; y6 T
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了