C++中的&与*详解

#include <iostream>
#include <iomanip>

class CTest
{

};

int main()
{
	int a = 50;
	int& b = a;
	int* c = &a;
	CTest* pTest = new CTest();

	std::cout << "a:" << a << "\r\n";
	std::cout << "b:" << b << "\r\n";//引用,别名,节省内存
	b = 20; //修改别名,等于修改自己
	std::cout << "a:" << a << "\r\n";

	std::cout << "c:" << c << "\r\n";//地址,也就是指针
	std::cout << "&a:" << &a << "\r\n";//地址
	std::cout << "*c:" << *c << "\r\n";//取地址中的内容,与a、b相同

	std::cin >> a;

	/*
	输出结果:
	a:50
	b:50
	a:20
	c:012FF708
	&a:012FF708
	*c:20

	知识点:
	1、变量
	2、int& b与int &b是相同的,但建议写成int& b,把int&看作是一种类型,b看作是该类型的一个变量;
	3、int* c与int *c是相同的,但建议写成int* c,把int*看作是一种类型,c看作是该类型的一个变量;
	4、&a读作“取地址”,取得a的地址;*c读做“取内容”,取得指针c所指向的变量的内容。
	5、new 一个对象以后分配一个地址空间,出来的是指针。
    6、指针调用对象属性或者方法使用->,引用调用属性或方法直接打.
	*/
	
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值