c++和java的区别
一群写机顶盒程序的人在用c++写程序的时候感觉C++太过于琐碎,于是发明了java
1:c+程序直接运行于OS上;java程序运行于jvm上
2:执行效率,c++明显比java要快很多,因为java是通过运行在虚拟机上的。
具体事例请查看上一篇博客,那个程序是java写的。
3:java一次编译,处处运行。c++换了平台就得重新编译。
4:垃圾回收机制。c++中new分配的内存必须由程序显式收回,否则会造成内存泄漏。
java有垃圾回收机制。参见《深入理解计算机系统》 虚存那一张。
5:指针:java是没有指针的。但是java对象本身就是指针,如果把一个java对象付给另一个对象的话,
两个对象指向的是同一个内存空间。因此,如果要实现值拷贝的话,还需要实现“克隆”接口。
c++的一个妙处就在于指针。有时候,我写c++程序仅仅是为了使用指针。
6:java无枚举类型,联合体。
7:java使用unicode字符集,而c++使用ANSI字符集。
8:java通过接口实现多继承。
9:java无操作符重载。
10:java中的final关键字和c++中的const关键字类似,不过也有区别:final的成员函数是不能被覆盖的。
11:java无缺省实参。
12:c++支持隐式的类型转换。java必须显式的转换。
暂时总结这么多。
c和c++的区别:
1:类
2:引用。
3:函数重载
4:操作符重载。
6:继承
7:new delete
8:c++面向对象,c面向过程。