栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++与java之间的区别

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++与java之间的区别


java与C++的区别
C++ java
支持编程的类型
允许面向过程编程和面向对象的编程 支持面向对象的编程模型
执行速度 C++比java快。原因在编译过程,对象的创建,检查机制等问题上可以看到。
编译过程
C++源码一次编译,直接在编译的过程中链接了,形成了机器码。

Java源码会先经过一次编译,成为中间码,中间码再被解释器解释成机器码。

java比C++多一层字节码的处理,这样可以保证在不同的机器上运行,所以比C++慢一点。

对象的创建 C++中,很多局部变量和对象的创建都是保存在栈内存中的,可以直接访问,所以效率较java而言高。 在java中一切皆对象(这里忽略基本类型的情况),而对象的创建时通过new实现的,就是说对象的本身都是保存在堆内存的,栈内存中只保存了一个对象的引用。这样在获得对象的时候实际上可以认为是间接寻址,速度就会比较慢。
检查机制 C++程序中,这些检查都是需要程序员自己去检查判断和处理的,速度是上来了,在安全性和稳定性上就不如java了。 java虚拟机本身在运行时对程序进行很多的检查,比如检查数组越界,检查是否空指针,检查对象是否需要回收等等,充分地保证了java程序的安全和稳定性,但是用来相对C++较多的时间来检查了。
多继承 C++提供多继承,关键字virtual用于在多继承期间解决出现的问题

java中类都是单继承的

但是继承都有传递性,同时Java中的接口是多继承,类对接口的实现也是多实现。

安全性与稳定性 程序员检查错误,相对低
系统检查,相对高
I/O机制

I/O机制使用cout,cin语句。

cout<

cin<

I/O机制复杂,因为一次只读取一个字节。

system.in

system.out.printlin();

与其他语言的兼容性 除了一些特殊情况以外,与C语言兼容 没有向后兼容任何以前的语言。语法受C/C++的影响
范围解析运算符 C++具有范围解析运算符(:),用于定义类外部的方法,并从具有相同名称的本地变量也存在的范围内访问全局变量
java没有范围解析运算符(:),方法定义必须在类中进行。
键入 原始类型与对象类型保持一致 原始和对象类型不同
结构体
支持结构体 不支持结构体
内存分配 C++中通过运算符new,delete来分配和释放内存,程序员必须自行地处理内存的使用问题 java中对内存的分配是动态的,它采用面向对象的机制,用new运算符为每个对象分配内存空间,而且在运行期间,系统会对不用的空间进行回收,程序员不用去关心内存管理问题
头文件 java不支持头文件
指针 java不支持程序员进行任何的指针操作


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298408.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号