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

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

[复制链接]

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

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

admin 楼主

2018-3-15 19:07:14

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

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

x
! e! g/ }3 |" k3 M! b8 ?

% N! p- Y$ @8 X3 T6 T# {
( V2 t* A+ u' D: T$ u5 c

6 c5 G1 n& @. k5 G

' m: T6 F+ m; O% V, M, ]C++ STL 的实现:' W7 o+ t6 N2 ^/ g6 p) m
9 |% J/ C6 A: M' S! D
0 o. r" l3 M5 \8 G
1.vector  底层数据结构为数组 ,支持快速随机访问
8 q  ~2 u; T; z9 m0 }, @0 S" U9 {

$ a. T8 a8 Y! S: N; d  Y2.list    底层数据结构为双向链表,支持快速增删( h! R4 B7 B" u# N- d: l5 i

3 B7 u9 ~, I4 q6 Q
8 M: X4 ~2 Z: {# G$ W/ [' f
3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问: a1 x! ^" \( A" z! `$ E" J
4 e5 P; T8 i6 K; _+ f9 f3 t
  g( r5 X& p# }" F
4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
, ]( S/ o1 z5 @( y1 f6 Q5 Q$ L6 G; C5 y9 {; }( x& v2 {3 w
$ M* o8 h( Q; F) N% \$ o% _" ~4 H9 D
5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时$ p" a8 W! a/ X" O
. y2 S' N# Y  Q( ]6 f9 i
& E3 H& {0 ^3 J4 n/ k
6.45是适配器,而不叫容器,因为是对容器的再封装
/ l7 K1 }/ h: e2 i
  P8 F3 C. g; C: b2 ]

* m: v' N8 e0 K7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现
5 K8 c6 `" R) Z, X/ b0 k2 `/ T4 S* A& L4 L: b
% ]) ^2 t) i7 x$ e* @
8.set       底层数据结构为红黑树,有序,不重复$ a7 {& {3 q3 o! |6 @& R5 w' i
. n2 e+ m' w, M. F: y1 v2 X
& b4 m/ h4 A  I5 O+ b
9.multiset  底层数据结构为红黑树,有序,可重复 , J* x. ]  Q9 N, X, }) l: z

. t+ a$ x1 Z3 @+ k, a% k' e1 c
; \8 N, D% y* l3 r
10.map      底层数据结构为红黑树,有序,不重复
9 [3 Q4 c. f. f
! z3 p' R# M8 s) c7 C

5 y; S3 S$ y: p4 w$ M11.multimap 底层数据结构为红黑树,有序,可重复
0 ]" ?0 A: o4 a
7 V" n8 e/ J+ c& \. U9 a4 [! `
  r  [3 Z: z+ E: w
12.hash_set 底层数据结构为hash表,无序,不重复& P7 i) Y* l/ B9 C, e! f$ z7 {

. }8 L$ L  J9 B( Y% V

# A8 @! c- a  E* |' f- I13.hash_multiset 底层数据结构为hash表,无序,可重复
; h7 [! s; q# }
, l1 _/ {: ^' k8 c% ^

# N- \" B" H( ]  i14.hash_map      底层数据结构为hash表,无序,不重复, f- d( t9 @# N

+ r6 V$ d6 w  h% q& k
: @; E1 w+ W3 r0 j. X- `6 b/ c
15.hash_multimap 底层数据结构为hash表,无序,可重复
: N4 h) m0 ?7 P3 S5 B! {9 ~$ S) G% h/ ~; i4 J. M4 H
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了