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

, B: y. q& @# n% v" G4 K) y3 {9 ~& m! e# I; C' i/ b
6 e! R* ]- [3 V: p% B6 h
, L& u& L# g' H& `. H2 e9 v

; k. K% j. T+ O4 dC++ STL 的实现:- T7 \4 A1 S" v

8 \3 D. R+ L4 G) J7 a

3 k3 G$ Q; y( k% O1.vector  底层数据结构为数组 ,支持快速随机访问
4 f) I4 W, q; C* N( c: }
0 J. D7 ~% I2 ^3 B' q& t0 n

, [/ R- p- b: _  G! r2.list    底层数据结构为双向链表,支持快速增删
# A( H8 z( x# D  v  _( d! a, [1 A3 g: K+ j' j5 P

; \+ a4 ^3 S7 V6 ?7 L/ g  @/ Q3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问+ d2 U3 l) T! A5 ]. `! B

- G2 q. t, \5 e( Z) K

# n" e5 L3 W7 a, L6 B" J4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时; m$ o. p2 w$ W5 P' H, P

) A4 e$ y6 [2 [) Y& T) ]6 ^( B

1 i/ T! O* _' \: ^5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时! z5 i! P; g; t9 b& J4 D2 T7 O

  ^$ s/ h5 }) l& P( J# S

& W+ [+ A: |9 l9 i6.45是适配器,而不叫容器,因为是对容器的再封装
5 h  G& p( |% q9 J4 ^* \  s1 k& Z/ r0 ]# S7 l( }/ N
9 {! e% o, r: }2 q7 F
7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现, o, ]3 G+ e' i# j
: k7 l3 m* v& H; G- m4 V

" Q( `, a) `/ Q; b' [) y5 p( f' L8.set       底层数据结构为红黑树,有序,不重复3 V* {, B, V( v( X' y/ i  q

4 l0 M, x- \. I
  c+ E( C9 q3 w2 ~! J8 E
9.multiset  底层数据结构为红黑树,有序,可重复 & n$ T, Z0 z% H, V. a, M

$ a  y9 H1 `9 O0 a7 E
# _. k; r1 ?/ B: Z8 N% ?
10.map      底层数据结构为红黑树,有序,不重复
! h/ ]! [5 K  S+ i" Q$ X
% _: T; v5 z6 h- Q6 D2 v+ h
. g  u4 z5 \1 G1 q! ?
11.multimap 底层数据结构为红黑树,有序,可重复1 s2 t7 L6 m/ d8 t( P# b" J6 E
" Z# l+ w) e/ o$ [) C
3 w/ o8 U' ]4 P& |5 o
12.hash_set 底层数据结构为hash表,无序,不重复
. G$ @$ N: X( F" p" H5 _7 f% l6 r" s4 A7 R9 t' Z
/ g$ z6 v( A; ]$ F- I" H8 O4 \
13.hash_multiset 底层数据结构为hash表,无序,可重复 & h6 q" F+ ?/ c' G( H$ C4 k/ O+ m

/ y# p' i9 b& {: h

/ G1 H/ U6 B' f# q" e14.hash_map      底层数据结构为hash表,无序,不重复
6 D: W$ p: M6 @7 B# A
$ W  e4 @' D% I! q
$ V( P4 X0 i0 n8 x3 S& Z
15.hash_multimap 底层数据结构为hash表,无序,可重复 ( B3 ~& j! n0 h% P4 H" b
+ Y+ J, E/ w" M8 U  }( J4 W2 E
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了