C++的概述:
由AT&T贝尔实验室的Bjarne Stroustrup 开发,从C语言派生的,与C语言是兼容的
和Java相比
优点
C++比Java快
C++在继承和派生上比Java更灵活
C++ 中可以直接插入汇编能直接操控底层硬件,所以操作系统还是得用c写
Java办的到C++一定办得到,C++办得到的Java则不一定
C++编译的程序可以直接运行,Java需要安装JRE有几十MB
缺点
Java完全对象化,比如数组在Java中是一个对象,含有length这个属性; 而不像C++中数组是一个指针。所以访问数组,Java都会进行边界检查,更安全 ,但牺牲了速度。同时因为Java中所有类都会继承Object这个基类,所以可以把几个好不相干的类用基类联系起来,比如放在同一个数组里
Java中没有指针这样不安全(虽然指针速度快)的概念
Java中有完善的内存管理机制,能自动垃圾回收,最大可能降低内存溢出的可能,同时提高编程效率
Java中有完善的异常机制(标准C++中不够完善)
Java中保持数据时对象本身是在堆里,同时靠一在栈里的句柄与之连接
Java标准库完整的多,相比之下C++除了一个STL就没了,实际C++编程中需要大量使用第3方库
Java因为是把程序编译为字节码,运行时需要JVM把字节码再翻译为机器码,所以他跨平台,一次编译到处运行
Java原生支持多线程(C++仅靠标准库办不到)
和C相比
优点
C++比C更安全,其编译系统也能检查出更多类型错误
C++语言最大的特点就是支持面向对象的特征,虽然与C的兼容使C++具备了双重特点,但在概念上C++与C完全不同,面向对象的特征也更明显。
缺点
C++比C语言更加复杂,编写过程也比较难,即使能够使用编译器,也可能存在大量问题,而且很难被发现
杭州使用C++ 的公司有东方通信、海康、大华、网易等