引用

#include <iostream>

using namespace std;

int x = 12;
int y = 80;
int *p = &y; // & 就是引用,

int &r = y; // 引用就是别名相当于y 又有了一个别名r,r 和 y 是同一个变量,对r 进行操作就是对y 进行操作,
// 创建引用的时候必须初始化,引用不能改变、也没有NULL引用,
// 指针可以在任何时候初始化,指针可以改变,有NULL指针,

int *q; // 指针可以在任何时候初始化,

void f(int a)
{
	a++;
}

int* g(int* a)
{
	(*a)++;
	return a;
}

int& k(int& a)
{
	a++;
	return a;
}

void increament(int*& r)
{
	r++; // 这个是将地址++ 
}

// 参数传递:使用传值方式传递非常小的对象,使用传常量引用方式传递不需要修改的大对象,函数要修改参数原始对象才使用传引用方式,
int main()
{
	int *tt = 0;
	cout << tt << endl;  //输出的是指针的地址
	increament(tt);
	cout << tt << endl;  //输出的是指针的地址


	f(x); // 在这里只是将x 复制到函数void f(int a) 将x变成a ,执行++, 而原来的x 还是不变的,
	cout << x << endl; // 输出的还是12 

	g(&x);
	cout << x << endl;  // 输出的是13 

	k(x);
	cout << x << endl;  // 这个是输出为14.在13的基础之上又加一,

	(*p)++;
	cout << y << endl; // 输出的是81,

	r = x; // r 是 y 的引用(别名),这一行相当于 y = x
	r++; // 引用不能改变 . 在这里相当于y++

	cout << x << ", " << y << endl; //  输出的是x还是12,y 是13


	return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值