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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

0 ]; H0 z" H6 @0 l# w- u2 t
: w- R7 A& o( ?# s& i$ a- ~

# N4 u2 Y9 J( p( l$ m
8 ~; P$ Y3 a* S+ J5 }3 `# f
% {* O( V' O" |& j
C++ STL 的实现:
( \* S9 E3 Z/ g& y* f: N( C, t
$ ]6 [/ i( C" y/ V8 S. l- N+ X
2 e3 d, U+ P. q; G; J
1.vector  底层数据结构为数组 ,支持快速随机访问
9 ?# Z' S6 \7 U. A7 ?! x! z
9 y% ^, b' ?* z: G* s

* M% N2 U* d& R: e: z& @# T2.list    底层数据结构为双向链表,支持快速增删- z( K2 Y' c5 ]8 z2 C% F5 E4 m7 w

$ @0 q1 p; R2 S: l# X$ V8 j+ v
* `( R8 a! s' w" M& q
3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问
5 J# G, Q+ q+ i/ F! [0 D; ?6 ?
( F* y% ]% l7 s% ?  ]+ q1 t" e
9 `( g  h1 C; V8 J6 ~$ R3 U$ ^5 s
4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时0 T5 Z- F4 S4 d* f) V' I, J5 d
0 E$ f( _" S7 s5 U: @2 G

% P6 X) }% S+ ^# B9 q" f5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
5 \8 {) @: Z9 h% c5 N3 H6 ]
( I; c: L+ j! u  _, P( Z
' M, E8 T: e, d$ D6 R3 R
6.45是适配器,而不叫容器,因为是对容器的再封装7 K1 C7 {& K0 I0 _" l) d

4 u: G: u8 g; y! a, c/ Q' A

' O  O1 U2 U8 U' t  U! _) y7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现
3 ~( o0 d+ ^1 e# n# S! J) X3 O$ k$ x; w6 ]* m
4 r2 z$ |4 W3 x9 R7 Y0 R
8.set       底层数据结构为红黑树,有序,不重复
( @; i  n* b# U- K7 h7 R" n# T; p: E* Q  a2 B) \3 H0 C5 E1 N
7 b8 o9 X7 t, \6 _0 Q; p6 `* z) O
9.multiset  底层数据结构为红黑树,有序,可重复
2 A' _3 b' p# v! d0 w9 y9 g0 S5 n# E' q0 v4 o) i. I% H

" F$ `5 H% r/ `' I7 d9 ]10.map      底层数据结构为红黑树,有序,不重复
9 H4 r/ f6 F: G( D1 j
+ w; `! L0 k- \) _% x! E3 p  }

& x* t/ |, j+ ]! n! }6 w' `5 }11.multimap 底层数据结构为红黑树,有序,可重复5 w* ~' v7 O' r

2 _6 l4 z" Y5 D3 j' B/ P

& h3 W3 Y3 N6 O3 U12.hash_set 底层数据结构为hash表,无序,不重复
/ C* R! J* Y+ ~' v% ]' Z) y8 t4 }( x7 h- n. R

, U0 y+ N* A" d9 N$ G$ q13.hash_multiset 底层数据结构为hash表,无序,可重复
4 v, U8 r; A# {2 j9 b
9 H  W7 j% W( `$ p

6 h( S0 Z( Y( a4 i8 X. Y2 K& X14.hash_map      底层数据结构为hash表,无序,不重复  N1 Q5 x: k: U; ~: |: a

- V6 _: C  I6 h6 Y
; x3 Y2 X+ w% E. v/ w
15.hash_multimap 底层数据结构为hash表,无序,可重复
5 c' a5 {% X  S3 r2 T- l$ B. @8 n! F8 b! i, R2 s0 c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了