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

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

[复制链接]

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

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

admin 楼主

2018-3-15 19:07:14

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

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

x
: X( i5 c) h7 k- f. U7 B
: M0 j6 E& a/ z  ~) f4 j, i7 s
3 u( ]9 v# o( F; {6 G7 X
7 n0 c, ?2 Y+ \- n: w; r

4 h  `& z0 s2 @6 q8 zC++ STL 的实现:
$ j) L0 H. ?4 u8 l0 w* b# G" w  L" W! J. d% C0 T  C. W
+ r$ S  {6 M# ]0 X8 V8 a; J
1.vector  底层数据结构为数组 ,支持快速随机访问, |( x+ a" H6 t1 U. O5 A5 e
( g9 j2 @# b, _

! m" V0 j) L8 K0 _/ ?' y# x& a2.list    底层数据结构为双向链表,支持快速增删  L7 L) ?5 U3 O; }7 Z  Z5 k

' `5 ?. Y  k6 N, Q! F
" o' p( E5 C- y# t- c' K5 \
3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问
! T3 W: K7 @3 x; P
, v6 ?5 S* \: H, V7 R% m) r& O
9 K' o( E1 s* W- c( ?! d
4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
0 ~5 V+ b% _2 R" X) H9 H1 O& r; y  @$ r$ I* T
7 p; a" l) A8 P' T8 O5 S
5.queue   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时
' i: J, K/ h: {6 w* R3 f. e  Q! ^  S, i( P. I9 x* R

8 F! q3 W+ L" M6.45是适配器,而不叫容器,因为是对容器的再封装
) R4 V! ]$ H' ~9 T, E
2 W! q# ~7 P0 I

, W4 U9 b' S9 v0 b& l7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现
" r' n  y8 b! D1 f6 y$ z9 y* ^7 c- A  ^% \8 V
1 z) \$ x; e4 }1 f; }# A
8.set       底层数据结构为红黑树,有序,不重复- L% V+ @+ x1 l" I3 c
! i, j# S# s: U: i( e3 s3 u8 G
0 l5 k+ P2 H/ I7 E9 W5 N' m% L+ U( E
9.multiset  底层数据结构为红黑树,有序,可重复 1 _$ V6 A. Y$ g+ |! H- b. `
. u1 Q/ T& A8 `2 p1 Q# x) T4 r  @% b
2 r% i9 i2 T# U* m9 S7 Y
10.map      底层数据结构为红黑树,有序,不重复, d: y: q( D1 T$ B
4 C& t6 ~1 U5 s  x2 F& C. l
+ A# p# E7 X7 @( o; D2 ^
11.multimap 底层数据结构为红黑树,有序,可重复2 h: H( }, g9 e; d+ b# @

; G% z; ?3 |; i( u/ _

- E# `4 y' G3 c6 K9 t( ?/ d12.hash_set 底层数据结构为hash表,无序,不重复
: \- j& v  i0 ]" A: ~# o
* h# H% @' t7 L
: A# }- F+ H( j$ {2 w8 f
13.hash_multiset 底层数据结构为hash表,无序,可重复
9 p" A' R8 @( ]* ^) \3 k0 g" V  F" w! d* }0 }# H4 H

3 B1 A& k% k1 l14.hash_map      底层数据结构为hash表,无序,不重复, L" Q! [7 X  P2 P) E" I
" W/ B6 f. {5 x- S) H9 k0 x+ c

3 |' v: k5 O* e% x# b7 Q  D15.hash_multimap 底层数据结构为hash表,无序,可重复
8 p! q. v8 H, y, |  e+ o5 `% g+ Z! y  Y8 z: y( Z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了