加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

C++ 与Java差异概括

发布时间:2021-12-10 14:58:29 所属栏目:PHP教程 来源:互联网
导读:工作需要,要学习Qt,之前学过Java,我想C++和Java对比着来学习应该可以很快上手。 C++的核心概念:编译单元,头文件,目标文件,库 Qt:信号和槽机制,foreach Qt中没有用到的c++概念:模板类,模板函数的定义 共用体类型,异常 这三个就放在以后再学 差异:
工作需要,要学习Qt,之前学过Java,我想C++和Java对比着来学习应该可以很快上手。
 
C++的核心概念:编译单元,头文件,目标文件,库
 
Qt:信号和槽机制,foreach
 
Qt中没有用到的c++概念:模板类,模板函数的定义    共用体类型,异常  这三个就放在以后再学
 
差异:
 
1. C++不会在运行时检验数组是否越界,没有垃圾回收机制
 
2.C++没有为所有的类提供一个可以从中继承出来的一般类object。
 
3.Qt则为所有的类型提供了一个简单的基类
 
4.Java中的“接口”的概念,只能用C++的纯虚函数来表示
 
5.C++不允许在类定义中初始化成员变量
 
6.C++中没有能够只想基类的super关键字,如需调用,可以在这个函数的名字前加一个由基类的名字和“::”操作符构成的前缀
 
7.C++支持多重继承,一个类可以同时从多个类中派生出来
 
  语法形式:  class DevicesClass: public BaseClass1,public BaseClass2,...,
 
                 publicClassN
 
        {
 
        ...
 
        };
 
8.C++支持局部对象和全局对象。因为这一支持,C++也提供了自动构造和析构。这导致了对构造函数和析构函数的调用,(对于堆对象)就是内存的分配和释放
 
9.在C++中,指针就是一个可以存储对象的内存地址的变量。在概念上与Java和C#中的引用非常相似,只不过还可以使用指针遍历整个内存
 
10.C++也支持“引用”的概念,引用存储的也是一个对象的地址值
 
    “引用”和“指针”的不同点:
 
             1> 声明用的是“&”而不是“*”
 
             2> 引用必须是初始化过的,且不能再赋值
 
             3> 可直接访问与引用相关联的对象,无“*”或“->”这样的特殊语法
 
             4> 引用不能为空
 
11.C++数组大小必须是一个常数值
 
    如果想要创建可变大小的数组:
 
            1> int *fibonacci = new int[];
 
            2>std::vector<int>fibonacci(n);//使用标准std::Vector<T>类
 
            3>QVector<int>fibonacci(n)    //使用Qt的QVector类
 
12.C++中引用了4种具有准确语义的新强制转换类型
 
            1>static_cast<T>()
 
            2>dynamic_cast<T>()
 
            3>const_cast<T>()
 
            4>reinterpret_cast<T>()
 
13.C++允许重载函数,另外还支持运算符重载
 
14.C++中所有的类型都可以用作“引用类型”,并且那些具有复制性的类型也还可以用作“值类型”
 
      int *i = new int(5);
 
      int *j = new int (10);
 
      *i = *j;

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读