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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2018-3-15 19:07:14 | 显示全部楼层 |阅读模式

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

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

x
; v8 v2 g8 z9 y0 y  \

0 U$ k$ q% V$ L8 q7 H$ O! m
0 `$ D0 `0 @, l( ^& r

0 ^! q. i# N4 W/ P
1 {' F# ?5 b! J! R' I
C++ STL 的实现:
4 l* W& V) O  G: N6 J6 H6 c- N, T& u4 S9 j$ O3 c
3 ]7 q2 f4 x6 L$ f' e, ^# [
1.vector  底层数据结构为数组 ,支持快速随机访问
5 ~# ]' M; Z) \8 h, }  C5 c
8 T5 N2 {& n! m% D% _
1 P. r& ^- J( x
2.list    底层数据结构为双向链表,支持快速增删( ~5 l4 Y* Y* _' N; w. a; s; c2 R

* @( l0 \5 e. L- c% _4 |

1 V; G0 Q- {0 t, p! G8 D3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问
& S9 m* O6 [; R6 y9 ?# T! Q$ N/ N
* [  q- x  g0 P* T( _  Q5 o
" y) e. n2 J- u% p
4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时$ B+ t- G; q5 X6 S( S

( t  W* L2 d; {

8 M9 e. J/ d3 l; e: p( ~* ?8 f( T5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
* s( |  U. X; ]
9 f3 u3 v" J9 C0 e
4 v7 n! o& k( @3 @& d5 u
6.45是适配器,而不叫容器,因为是对容器的再封装. o  F6 r0 _% z" J7 [! `% Q
4 y! f$ R8 Z/ y

0 u1 k; [4 o) S2 D6 o( O7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现
2 g5 F: m5 x. L% f9 C& S) H7 R6 y' [" o! n# A; g- E

" H8 g" w  j6 n' G: I4 x. L2 r8.set       底层数据结构为红黑树,有序,不重复
# ?) R  I  ]* F0 t! d( S5 P+ |
0 U7 g  f& s) s, b3 _% q8 y
  c7 f; z1 l6 W. B8 ]9 v( L# [
9.multiset  底层数据结构为红黑树,有序,可重复 5 y" w. ^' U" k4 l/ R0 _

7 ^# Z/ x& P, M( C# v" I. k

  h& H, q- Y0 S2 y5 q10.map      底层数据结构为红黑树,有序,不重复
% y4 U8 W2 i8 B$ L# l2 f$ t- g6 }% w! a& w7 w2 n2 Z) |

4 w' s2 U. T5 E! q' E! A! T11.multimap 底层数据结构为红黑树,有序,可重复
: I$ p# t; L" ~5 G/ C( k" e. W7 \9 Z) e: Y

: |: I3 Z" M. K12.hash_set 底层数据结构为hash表,无序,不重复* O$ G' g( n: \- u# D
6 g" @/ ^3 H  F7 a
$ H- [" i- J5 D- y; f6 @5 Y: E
13.hash_multiset 底层数据结构为hash表,无序,可重复
# N' R8 B$ v; h1 H' [4 n; n
& F' B/ s3 ~7 ^; n8 r" ^

  `7 Q6 [0 h, m5 u2 u14.hash_map      底层数据结构为hash表,无序,不重复' D" m: j$ T. v
9 @1 f* n( w/ R, d: H# K9 ?

3 c% `  p% x+ ~15.hash_multimap 底层数据结构为hash表,无序,可重复 - T8 I" A- ~1 [6 m

6 o8 m$ b% n( R: N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了