PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2018-3-15 19:07:14

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

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

x

' j& F2 g; j8 B) \
" {- R9 D9 Y9 V% p% b+ P+ U

2 g6 _! H: n2 g" V% Z3 a7 n
, C: E) d) h( F
5 ]8 Z) n. w9 q) |; H
C++ STL 的实现:  u& ~- P( r+ n9 H7 C& [

0 q2 b  l4 F( |( \% S3 ~+ w
. T/ K2 O( i( o$ f
1.vector  底层数据结构为数组 ,支持快速随机访问/ n" g1 I1 M( h- M. W/ o/ N8 T
5 B. |4 P! I" m! q2 U0 H
" ]/ [* d% n; k, D; p3 u
2.list    底层数据结构为双向链表,支持快速增删
, z2 Y- D# h+ t: G, i5 u
, y5 c- _1 p1 g

/ U' M5 S1 ^0 z/ t  G' X6 L3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问
$ M2 D3 b4 O6 N  g/ o% F, i# u- z
7 ]1 P- k+ e! ~; Z1 C3 P$ @' r, i

" e" T! N( z# r3 U/ m/ h4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
! v, g) ?4 U: w1 H0 ?; G7 G; `! {
0 c0 M0 W& i9 I0 R3 e
5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时9 c9 S  ?0 Y+ Z/ r( n* h
3 K3 f7 N; C9 z) n! E) C

+ l& F# p5 {+ c3 D  }- l& a4 n, H6.45是适配器,而不叫容器,因为是对容器的再封装
7 q3 f" |2 X, `$ [+ v- h4 }, R; O. W( c; R

/ ]' e: N0 e* M7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现/ l+ X2 G6 O' G2 ?; Q
6 P. f" U" R( t( {0 ]
( g. q; f% j7 U
8.set       底层数据结构为红黑树,有序,不重复
% x. [% V' Y4 N: ?0 P) O3 _9 y/ L# R3 a1 w0 t

# e: u% y( O; f. M& S) r% I# M9.multiset  底层数据结构为红黑树,有序,可重复
! Q4 r6 l0 V- J+ X5 Y/ a3 C' }* L6 W! E
& ^1 f  x6 t5 z; K
10.map      底层数据结构为红黑树,有序,不重复
: t: w2 C: z1 f8 n1 D* E8 y, Q, q- [
  ?5 H; a! E; v" a# Q; Q; C1 m: i

4 x2 Y3 v; j; V- X6 [+ y  ?1 u11.multimap 底层数据结构为红黑树,有序,可重复
% g4 F, U8 r5 {( b" n& _" d$ R7 t3 N- ^% A" x5 u

. B% V% o+ t7 r6 f! v9 p, ~1 P6 A5 _, U12.hash_set 底层数据结构为hash表,无序,不重复2 T0 s  X% `) j& `; ]
+ l2 @0 m6 y9 ]1 n

) C: z% V+ Z* E* \7 G; i7 w/ P13.hash_multiset 底层数据结构为hash表,无序,可重复 " B7 a+ Y" m9 u' U
8 _( g5 \" T0 o4 z; C2 y, [6 w

0 J: ~" Y2 H" `  t$ e14.hash_map      底层数据结构为hash表,无序,不重复
4 y' p" u  d! n! @9 K" o# h( N& G9 W, j. F- C

8 }+ U/ d4 e8 v; j15.hash_multimap 底层数据结构为hash表,无序,可重复 * U9 \+ U7 p; b! e6 G
; H, U, a# m* h/ g
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了