zoukankan      html  css  js  c++  java
  • 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*  指针

      复杂复合类型的声明  

        

      

      

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

  • 相关阅读:
    Xshell6提示“要继续使用此程序,您必须应用最新的更新或使用新版本”的解决办法
    设置UIImage的边框和圆角大小以及颜色
    CATransition使用
    [转]C/C++中extern关键字详解
    New ipad与ipad2有何不同
    使用Xcode收藏自己常用的代码模板
    objectivec 关于 self 的用法总结
    查找 EXC_BAD_ACCESS 问题根源的方法
    结构体的对齐方式
    添加three20模板的方法
  • 原文地址:https://www.cnblogs.com/wds128/p/5264120.html
Copyright © 2011-2022 走看看