- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
 |
<TABLE width="100%" border=0>
0 k9 G( I+ ~, r m5 S
& e/ C; N2 Y8 C<TR>$ U5 j) r# \! v
<TD width="7%"> </TD>
" U3 V/ o% l8 k* ^2 S$ Y. f0 l<TD width="85%">
7 y+ D& J! ]) ]6 o; M<DIV class=Section1 style="LAYOUT-GRID: 15.6pt none">" _# a! e# @. m" g4 d
< align=center></P>
; n( E% a' C* o, M5 _3 b< ><B>7 </B><B>C++</B><B>的使用</B>(Use of C++)<B></B></P>3 z+ j) `9 m# _ s$ d9 i
< >C++在几乎所有的应用领域内被成千上万的程序员使用着。C++的这种广泛运用的背后,是几种技术期刊、许多学术会议、十几个独立的C++实现、数以百计的程序库和教科书,以及不计其数的专业顾问。此外还有各种不同级别的培训班和教学课程随处可见。</P>
! {7 p) D4 m1 j/ T* f" w' N< >早期的C++应用似乎总在与系统程序设计依偎缠绵。例如几个主流的操作系统就是用C++编写的[Campell,1987][Rozier,1988][Hamilton,1993][Berg,1995][Parrington,1995],还有许多其它操作系统中的一部分模块也是用C++编写的。C++的设计使得其每一种语言特性都能在具有严格的时间和空间限制的情况下运用于代码中[Stroustrup,1994]。这是的C++可以被用来编写设备驱动程序以及其它需要在实时条件下对硬件进行直接操纵的软件。在这样的一些代码中,运行性能的可预见性至少与单纯的运行速度一样重要,而程序的和谐性(compactness)也往往是如此。</P>
/ Y+ B( Y- g9 e+ [6 x< >大多数程序都有数段对可接受的性能范围比较苛刻的代码。然而毕竟有大部分代码并非如此。对于大部分代码而言,可维护性、可扩展性和易测试性才是关键。C++对这些问题的考虑使其能在“把可靠性作为要件的应用”和“需求随时间而显著变化的应用”中被广泛的使用。这些应用的领域包括银行、商贸、保险、通讯和军事等。多年来,美国长距离电话系统的中央控制部分一直由C++支撑;每800次呼叫(即被呼叫者需要为其中一次呼叫付费时)都被一个C++程序进行路由操作[Kamath,1993]。许多像这样的应用都是大规模的,且应用寿命很长。因此在C++的开发过程中,稳定性、兼容性以及可伸缩性都始终被作为必要的考虑因素。百万行级别的C++程序并不常见。</P>
8 k/ B. w/ D( h9 x5 Z; G, j< >与C一样,C++的设计并不主要面向数值计算。然而仍有很多数学、科学和工程计算为C++所支持。这样做的一个主要原因是,传统的数值处理经常会与图形处理相结合,或与某一类计算相结合——这类计算依赖于一些不能嵌入传统Fortran架构的数据结构[Budge,1992][Barton,1994]。图形和接口是C++涉足较深的领域。</P>- d9 o# z% l( ]* W+ k% J
< >上述所有这些都体现了为C++注入的最大的力量:能在适用于各种应用领域之应用程序的开发中被高效使用的能力。一个应用要涉及到局域/广域网、数值计算、图形处理、与用户的交互以及数据库访问等,这是很常见的情况。传统的观点认为,这些应用领域是泾渭分明的,它们通过不同的技术领域来得到解决方案。然而C++就是能在所有这些领域中被广泛运用。更为甚之,C++还能与用其它语言编写的代码段或程序并存。</P>2 f$ b4 p+ H2 n0 Y' I
< >C++被广泛运用于教学和研究工作。这多少令一些人甚为吃惊;这些人(正确的)指出:C++并不是迄今为止设计出来的最简洁的语言。然而C++:</P>% w; w# Q6 f) V
< >——对于成功的教授基本概念而言,已经足够的明洁;</P>
* }6 s; T4 R, }5 H1 v0 }3 T# V< >——对于其所面对的工程而言,已经具有足够的现实性、高效性和可适应性;</P>
" c8 R @8 V5 G, B2 Q+ b/ p< >——对于那些依赖于各种迥异的开发和执行环境而进行工作的组织和机构而言,已经具有足够的可用性;</P>( d5 z2 z; a7 X5 D- a8 n
< >——作为教授高级概念和高级技术的教具,已经具有足够高的可理解程度;</P>
: b1 h- T3 s3 n, X" V< >——作为将所得成果用于非学术目的的应用之工具,已经具有足够高的商业化程度。</P>: I; q3 w" d7 r( k- L/ C K3 X
< >感谢ISO对C++所进行的标准化工作(§2);C++已因此变得归整、稳定,并拥有一个标准程序库的有力支持。</P></DIV></TD>
5 M, B5 W2 w3 v. o/ k" \' ?<TD width="8%"> </TD></TR></TABLE> |
zan
|