c++程序设计语言概述

c++程序设计语言概述

ID:26637120

大小:79.00 KB

页数:5页

时间:2018-11-28

c++程序设计语言概述_第1页
c++程序设计语言概述_第2页
c++程序设计语言概述_第3页
c++程序设计语言概述_第4页
c++程序设计语言概述_第5页
资源描述:

《c++程序设计语言概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、·5·第1章C++程序设计语言概述第1章C++程序设计语言概述什么是C++?C++是基于C语言发展起来的一种新的程序设计语言。C语言诞生于20世纪70年代,是一种应用相当广泛的程序设计语言(尤其是在系统程序设计领域)。C语言简洁、高效,但是C语言也有其自身的缺点,例如弱的类型检查机制等,使得使用C语言开发大型的应用程序比较困难。20世纪80年代,美国贝尔实验室的BjarneStroustrup博士及其同事在C语言的基础上引入了面向对象的编程思想和一个class关键字,形成了最早的C++语言原型。后来,C++语言被融入了越来越多的语言特性,其中最具有意义、影响最深远的莫过于tem

2、plate(模板)的引入,最终美国国家标准化协会ANSI(AmericanNationalStandardInstitute)和国际标准化组织ISO(InternationalStandardsOrganization)一起对C++语言进行了标准化工作,并于1998年正式发布了C++语言的国际标准ISO/IEC:98-14882。C++已经成为最流行的程序设计语言之一。1.1C++和C#、Java的区别很多刚接触程序设计的人经常会问“C++和C#、Java有哪些区别?学哪个比较好?”这样的问题。在网络上搜索一下,也不难发现这个问题已在各大论坛中成为讨论的焦点。1.1.1面向对象

3、还是面向过程C语言是面向过程的。C++和C#、Java这3种语言都使用了类似C风格的语法,但它们都是面向对象(OOP)的。C++是对C语言的一个扩充,也就是说,一个C语言的程序,也可以认为是一个C++程序(没有用到C++高级特性而已),C#和Java对C语言没有任何的兼容性。1.1.2内存管理是否自动释放C++和C#、Java这3种语言中,C++是最早出现的,保持了对C的兼容性,允许指针的存在,允许程序员手动高效地管理、使用内存(尽管这也是最容易引起问题的地方)。C++在发展的过程中,不断地补充语言特性,使得C++成为最灵活的编程语言之一。C++语言的灵活性是建立在其复杂的语法

4、之上的,因此对于初学者来说,很有可能因此望而却步,但是如果坚持下去,就会发现,再去看C#、Java语法时会感到很轻松。·5·第1章C++程序设计语言概述C#、Java语言相对C++语言来说,在语法上要简单得多,因此初学者很容易上手。二者抛弃了最容易引起问题的指针,对内存的管理完全自动化,这样虽然带来了程序的稳定性和安全性,但是在某种程度上丢失了效率。提示:因为内存管理自动化,C#、Java语言拥有垃圾自动回收机制,在C++中,申请的内存必须由程序员自己手动释放,如果忘记这一点就会引起内存泄露。C++丰富的语言特性在一定程度上弥补了如下不足:q部分C++库拥有内存管理机制,如ST

5、L、Boost等。qC++拥有智能指针。q某些C++库实现了垃圾回收功能。1.1.3是否跨平台Java的程序是运行在虚拟机上(VirtualMachine)的,而C++不是,C++程序的代码是直接运行在物理机器上的。就Java和C#二者单独来看,C#更像是微软公司和SUN公司进行商业斗争的产物。历史上,微软公司是支持过Java语言的,代表性的产品有VisualJ++和WFC。后来因为众所周知的原因,微软公司推出了C#,其目的很明确,就是和Java竞争。实际上C#和Java在特性上也非常类似(不仅仅是语法)。二者都是为了更加方便地解决应用问题,在GUI、数据库访问、网络通信、多线

6、程等和实际应用密切相关的点上都有成熟的解决方案。C++更多地靠第三方的库来实现这些功能,因为C++是一个国际标准,要在C++中加入这些语言之外的、面向应用的特性还需要很长一段路要走。而C#、Java的拥有者是商业化公司,各种动作自然要敏捷得多。但是这并不意味着C++即将消亡(这样的言论很多)。不可否认的是C++在C#、Java的进攻下,丢失了一些领域,但是C++仍然在普遍使用,很重要的原因就是因为C++既保持了C语言级别的效率(某些情况下例外),又加入了面向对象的特性。1.1.4C++与其他语言的主要区别总的来说,C++和C#、Java的区别集中在以下几点:(1)C#、Java

7、代码编译后(形成中间代码)是在虚拟机上执行的。C++则不是。(2)C#、Java语言相对于C++语言来说较为简单,比较容易上手。C++的语法特性多、复杂,较难掌握。(3)C++语言本身是一个标准,各种实现之间有区别,对标准的理解、执行程度也不同。而C#、Java语言是由商业公司掌握的,在这方面很少有问题。(4)C#、Java是直接面向应用的,各种标准、模型都很成熟。而C++的各种库在不同的C++编译器实现上可能遇到一些问题。·5·第1章C++程序设计语言概述图1.1C、C++、C#、Java

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。