c++ 引用和指针

本文深入探讨了C++中的引用和指针概念,详细解释了引用作为对象的别名,其特性与绑定规则,以及指针作为复合类型实现的对象间接访问方式,包括其生命周期内的状态变化。

一:引用:为对象起了另外一个名字,引用类型引用另外一种类型,通过声明符写成&d的形式来定义引用类型,其中d是声明的变量名:

#include "People.h"
#include<iostream>
#include<string>

#define MAX 100
#ifdef MIN
#else
#define MIN -100
#endif
typedef People* pp;
typedef unsigned int uint;
// std::string global_str = "lck";
// string global_str = "clk";
int global_int = 90;
People* m = new People("lk",25);
People* &mtemp = m;
int i,&ri = i;
int main() {
    i = 5;
    ri = 10;
    // 这里修改原对象的名字原对象也会跟着变
    mtemp->name = "ll";
    cout << i << " " << ri << endl;
    cout << "m's name is " << m->name << endl;
    return 0;
}

一句话引用即别名,引用的特定:

1:必须在定义是进行赋值就是所谓的绑定

2:引用不是对象

二:指针:指向另外一种类型的复合类型实现了对其他对象的间接访问,指针本事就是一个对象允许对指针进行赋值和拷贝,而且在指针的声明周期内可以先后指向几个不同的对象,无须定义是初始化

指针的值有4中状态:

1:指向一个对象

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

3:空指针,没有指向任何对象

4:无效指针,上述情况之外的其他值

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值