C++和java有什么区别?

如题所述

1.C++ 和java相比,只有标准的容器和算法,它的标准里没有网络,GUI以及应用框架这些内容,因此需要第三方的库来支持。而java的标准库包含的内容很丰富,有GUI支持,网络支持,多线程支持,以及完整的应用框架。
2.C++中有指针可以直接操纵内存,这点是java做不到的,c++中的引用和java中的引用不同。C++中的引用是编译时的一种隔离措施,也就是说,C++程序运行时,并没有引用存在。而java中的引用在程序运行期间,执行栈中存储引用,而堆中存储引用所执行的对象。因此java中的引用更像C++中的指向动态内存的指针。java中有垃圾回收机制,C++需要显式的释放。但是C++本省完备的机制和强大的功能可以让程序员编写出自动释放动态内存的程序。
3.C++比java强大,灵活,快速。C++的执行需要借助C运行时,而java执行需要借助JVM,而jvm要借助C运行时。当然.net 的C++ 和java的理念一致。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-26
1.C++ 和java相比,只有标准的容器和算法,它的标准里没有网络,GUI以及应用框架这些内容,因此需要第三方的库来支持。而java的标准库包含的内容很丰富,有GUI支持,网络支持,多线程支持,以及完整的应用框架。从 功能上讲:
MFC + C++=java (windows)
或:
Qt + C++=java(linux)
2.C++中有指针可以直接操纵内存,这点是java做不到的,c++中的引用和java中的引用不同。C++中的引用是编译时的一种隔离措施,也就是说,C++程序运行时,并没有引用存在。而java中的引用在程序运行期间,执行栈中存储引用,而堆中存储引用所执行的对象。因此java中的引用更像C++中的指向动态内存的指针。java中有垃圾回收机制,C++需要显式的释放。但是C++本省完备的机制和强大的功能可以让程序员编写出自动释放动态内存的程序。
3.C++比java强大,灵活,快速。C++的执行需要借助C运行时,而java执行需要借助JVM,而jvm要借助C运行时。当然.net 的C++ 和java的理念一致。
第2个回答  2011-10-09
java面向对象,C面向过程
第3个回答  2011-10-05
C++有面向过程的内容
Java没有指针
第4个回答  2016-01-07
善良
相似回答
大家正在搜