复合类型

    xiaoxiao2025-05-24  10

    复合类型 是指基于其他类型定义的类型。

    引用:为对象起了另外一个名字,引用类型引用另外一种类型

    int ival = 1024; int &refVal = ival; //reVal 指向ival(是ival另一个名字) int &refVal2;//报错:引用必须初始化 程序把引用初始和它的初始值绑定在一起,而不是将初始值拷贝给引用。

    允许在一条语句中定义多个引用,其中每个引用标识符以&开头:

    int i = 1024,i2 = 2048; //i 和 i2都是int int &r = i, r2 =i2; //r是一个引用,与i绑定在一起,r2是int int &refVal4 = 10;//错误:引用类型的初始值必须是一个对象 指针 :是一个对象,存放着某个对象的地址,或者是某个对象存储区域之后的下一个地址,或者0.

    指针与引用的相同点:都是实现对其他对象的间接访问。不同点:指针本身就是一个对象,允许指针的赋值和拷贝,在它的生命周期内可以先后指向不同的对象。指针无需

    定义时赋值。

    double dp , *dp2;//dp2 是指向double型对象的指针,dp是double型对象 指针存放某个对象的地址,要想获取该地址,需要用&:

    int ival = 42; int *p = &val;//p存放变量ival 的地址,或者说p是指向变量ival的指针 指针的值应属于下列4种状态:

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

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

    4 无效指针 上述情况之外的指针

    解引用(操作符*) 对解引用会得到所指的对象,因此给解引用赋值就是给指针所指对象赋值

    int val = 42; int *p = &val; //p存放变量ival的地址 std::cout << *p; //由符号*得到p指向的对象,输出42 *p = 0; // 由符号*得到指针p所指向p所指的对象,即可经由p为变量ival赋值 std::cout << *p;//输出0

    转载请注明原文地址: https://ju.6miu.com/read-1299223.html
    最新回复(0)