• C++--------复合类型


    复合类型:基于其它类型定义的类型。

    1.引用(reference)

      含义:对象的另外的名字,引用另外一种类型,使用“&声明符”的形式定义。

      引用即别名,引用不是一个对象,只是已经存在的对象的另外一个名字,因此定义引用必须初始化,且不能定义引用的引用。

      一般初始化变量,是将初始值拷贝到新对象中去,而定义引用时,只是把引用与初始值绑定,也因此不能将引用重新绑定到另外一个对象上。

      引用的赋值,即把值赋给与引用绑定的对象赋值。

      获取引用的值,即获得与引用绑定的对象的值。

      引用的类型要和与之绑定的对象的类型严格匹配。

      引用只能绑定到对象上,不能绑定到字面值或表达式上。

      例子:

        int a=2;

        int &refa=a;       //refa指向a,是a的另外的名字

        int &refb;          //错误,引用必须初始化。

        refa =3;            //给引用赋值,即给引用指向的对象赋值a为3,等同于   a=3;

        int &refc = 20;   //错误,引用不能使用字面值初始化。

        double d = 3.14;

        int &refd = d;     // 错误,引用的类型要和与之绑定的对象的类型严格匹配

    2.指针

      含义:指向另外一种类型,与引用类似,都是间接的访问所引用或指向的对象。

      引用与指针的区别:

        --指针本身是一个对象,允许对指针赋值和拷贝,而且在指针的生命周期内可以指向不同的对象。

        --指针无须在定义时初始化。与其它内置类型一样。

      获取对象的地址:取值符&

      指针的值:即地址属于下面四种状态之一;

        --指向一个对象

        --指向紧邻对象所占空间的下一个位置。

        --空指针,意味着指针没有指向任何对象。

        --无效指针,不属于上面情况的其它值。

      使用指针访问对象:解引用符  *

      空指针

        --0

        --NULL,预处理变量,在cstdlib中定义

        --nullptr  

      给指针赋值

      指针的操作

      void*  指针

      复杂复合类型的声明  

        

      

      

    做一个简单的人,踏实而务实。不沉溺幻想。不庸人自扰

  • 相关阅读:
    js设计模式之 适配器模式与应用场景
    2017版本的IDEA
    JAVA实验六——图形用户界面设计——6-47选择整数计算
    升级apache版本
    基于 PVE + TrueNAS 的私有云配置流程
    基于Win10+VS2019的ceres-solver-2.0.0配置流程
    基于PVE+ROS+LEDE的软路由配置流程
    启动android studio
    vscode配置
    找不到https://raw.githubusercontent.com
  • 原文地址:https://www.cnblogs.com/wds128/p/5264120.html
Copyright © 2020-2023  润新知