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

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

[复制链接]

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

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

admin 楼主

2018-3-15 19:07:14

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

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

x
. d7 H% j. ?4 O" q

' g9 O! P- Z  a; q+ ~5 ]

6 W& i8 r; m6 T3 B/ o/ f8 a8 w7 ?' x- B; i  _% x
: K$ {- `+ v- E1 c8 F- P3 h
C++ STL 的实现:
) [5 n- v) A4 y7 k* Q. A  Z5 M! i
# i& s8 C9 W" ?' e! a* h

/ }0 r# h) ?5 p4 f: \1.vector  底层数据结构为数组 ,支持快速随机访问9 l$ N1 P- Z( S* b) f

3 j: `# a5 @: w  F% Z* s" j: L, X' w

3 `7 f2 |' x' B2.list    底层数据结构为双向链表,支持快速增删
+ q6 S7 ?+ `% K6 S9 j  N5 L6 k5 p7 K8 a5 x; }) e; b$ z2 r

4 I* {. h& t3 l1 Q3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问
. ]2 s( Z+ W( U- ~- X5 _( D% f. g( q" Q

  y# c4 O% b7 B: ?- ?4 v8 ^4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时. B+ D. T) I% n' ]9 Z
2 u1 g: I/ }5 {: e5 c% N  Q

4 U9 |6 y1 d. L$ N: M/ h' Z5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时$ m" @+ ]# c: i+ R- j! A* l4 z
1 L* n2 R& n6 E& m( \6 L, k2 x; K+ i
/ P" B9 l2 n8 m: w  Z' d+ b4 |
6.45是适配器,而不叫容器,因为是对容器的再封装
. R9 M% t3 c8 |/ k! z; \
: W% W* d& y( S9 y

  |' z9 _5 H4 A3 u$ s7 r" P6 b7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现$ o  z9 @3 B8 ?( `1 h; B7 d% ~5 h
; g4 q1 p+ i0 P* m) ~! I

: S; E# j. x" a- x8.set       底层数据结构为红黑树,有序,不重复7 n6 O7 k7 G/ [

3 [; F( ~  O9 I: A

/ I" c7 D* T! D8 z- j1 l/ Q9.multiset  底层数据结构为红黑树,有序,可重复 ( O* F& v5 H+ b2 v
( q- c! E" L0 O

( U1 F* g6 x4 ^9 y4 \10.map      底层数据结构为红黑树,有序,不重复8 ~5 K- X" F+ U; O6 E* f- W( |5 s9 z

# m: b/ r: Z  D; y% B8 O

  ]$ z! W/ l; u% U; X2 Z11.multimap 底层数据结构为红黑树,有序,可重复
9 U& K5 R7 n& w4 n. b
" P9 N6 D1 t& d

  `- ]. i1 Z/ H9 X; a* }; w12.hash_set 底层数据结构为hash表,无序,不重复
% [9 w% O$ G% ?0 O& @7 E0 S9 U" Y5 d  u2 }
$ D. f* C5 ]. j; `5 S
13.hash_multiset 底层数据结构为hash表,无序,可重复
0 v6 K% `& H  m% k# e" v% O) Z7 L7 f

/ Y) d+ g2 O. ~14.hash_map      底层数据结构为hash表,无序,不重复3 @7 F& I- r; Q* m

) m  ?+ g+ q+ v

, }! L% C% i9 @4 ^/ {4 v' M8 G. t15.hash_multimap 底层数据结构为hash表,无序,可重复
6 k7 d; u5 H/ [2 k0 I& h' v
9 _6 J+ U  G1 f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了