1。面向对象没有java彻底。
由于C++要兼容C的内容,而C是面向过程的,所以C++不可避免地出现过程影子,并不算是完全的面向对象的程序设计语言。例如总得要有main或winmain之类的过程吧。
2。C++的移植能力没有java好。
由于C++的事实标准的存在,即各个编译器总存在差异,所以或多或少存
在不兼容。而且各个软件平台的C++启动代码和硬件指令不同,编译后的C++程序一般是不能跨平台的。而java从娘胎里出来就是为了跨平台执行的,不采
用二进制机器码作为最终代码,所以在移植方面较好。
3。C++的指针操作使得它不安全。
java没有指针,而C++的指针越界或野指针是造成弄脏内存的重要原因。
但是事情总得一分为二,C++的指针也是其效率大大超过java的原因之一。
3。C++可以直接操作硬件,带来了不安全。
java不提供硬件操作,而C++兼容C,使得它继承了其硬件操作功能,
是祸是福,各有说词。有人说它带来了不安全,也有人说它是所向披靡
的屠龙之器。
4。C++的动态对象必须及时销毁,否则可能会造成内存泄漏,而java免除了这个麻烦
java用垃圾收集器清楚不用的对象,而C++没有相关机制,使得上下
文终对象的建立和销毁不成对,就会造成内存泄漏。
5。C++的在网站建设方面不如java“强”
因为C++应该没有java在项目开发上来得快捷。之所以加引号,是因为
开发HTTP/1.0
java通常显得更健壮。
对象句柄一定初始化为null
句柄会得到检查,出错则抛弃异常
数组会检查界限
提供多线程等
6。C++内容管理是强悍的,指针等都被保留,可以快速的操作到要的对象,性能是比较高的。遗憾的是对内存的操作带来了找不到数据的错误。由于高性能,它一般被用开发C/S,游戏等软件。java可以说是让程序员尽量减少对内存的注意力,集中使用面向对象编程,OO强了,不过性能跟c++比还是差了点,不过强大的JVM提供了很多好处,比如移植性,垃圾回收器等。适用于开发不要求性能的软件。
7C++适合做图形图像:3D游戏;多媒体:流媒体播放器;UI:用户界面;嵌入式大部分都是C和C++写的。而java多半与网络和数据库有关,比如说网站后台,手机平台等等
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7464531/viewspace-625278/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7464531/viewspace-625278/