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*  指针

      复杂复合类型的声明  

        

      

      

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

  • 相关阅读:
    oracel 复制A列的内容到列
    视图转为表
    面向对象
    银弹效应
    解决linux删除文件后空间没有释放问题
    HttpAnalyzerStdV7安装教程
    HttpUploader6.2-process版本
    Chrome浏览器控件安装方法
    Firefox浏览器控件安装方法
    通达OA整合教程
  • 原文地址:https://www.cnblogs.com/wds128/p/5264120.html
Copyright © 2011-2022 走看看