Java与C++的区别
Java | C++ |
---|---|
Java为解释性语言,生成字节码文件,可移植性强 | C/C++为编译型语言,生成可执行的二进制代码 |
支持跨平台 | 不支持跨平台 |
纯面向对象语言(所有代码(包括函数、变量)必须在类中实现) | C++兼具面向过程和面向对象编程的特点(可以定义全局变量和全局函数) |
无指针 | 有指针(直接对内存操作,高危险) |
GC(垃圾自动回收机制),无析构函数但有finalize()方法 | 有析构函数,手动释放资源(free/delete) |
单继承(接口实现多态) | 支持多重继承 |
不支持运算符重载 | 支持运算符重载 |
import | 支持预处理器 |
显示强制类型转换 | 支持强制类型转换(导致程序不安全) |
不支持goto语句(goto为关键字),但有label | 支持goto语句 |
多应用在高层 | 多应用在中间件或底层 |