C++指针的引用
2024-10-14 13:48:32
[1]指针的引用,必须加上头文件<iomanip>因为调用类setw()
对一个数据可以使用“引用”(reference)这是C++
对C的一个重要扩充,引用是一种新的变量类型,
它的作用是为一个变量起一个别名。假如有一个变
量a,想给它起一个别名b,可以这样写:
int a;
int &b=a;
注意: 在上述声明中,&是引用声明符,并不代表
地址。不要理解为“把a的值赋给b的地址”。声明变
量b为引用类型,并不需要另外开辟内存单元来存
放b的值。b和a占内存中的同一个存储单元,它们
具有同一地址。声明b是a的引用,可以理解为:
使变量b具有变量a的地址,当b代表与a的关系之后,
不能在作为其他变量的代表
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a = ;
int &b = a;
a = a*a;
cout << a << setw()<<b<<endl;
b = b/;
cout << b<< setw()<<a<<endl;
return ;
}
[2]引用作为函数的参数
(1) 将变量名作为实参和形参。这时传给形参的是
变量的值,传递是单向的。如果在执行函数期间形
参的值发生变化,并不传回给实参。因为在调用函
数时,形参和实参不是同一个存储单元。
比如要实现两个数值之间的互换,用其他方法比较难理解
用下面的方法就比较好理解,
函数申明的时候用的是int swap(int &a,int &b),
在调用函数swap(i,j)的时候,无疑 &a = i,&b = j,这样两个的内存就放在一起了
#include <iostream>
using namespace std;
int main( )
{
void swap(int &,int &);
swap(int &,int
int i=,j=;
swap(i,j);
cout<< i=′′<<i<<′′ <<′′j=′′<<j<<endl
cout<<′′i=′′<<i<<′′ ′′<<′′j=′′<<j<<endl;
return ;
} void swap(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
最新文章
- JAVA实现发送电子邮件
- nio加强服务端并发
- Tomcat如何添加管理员
- 续Gulp使用入门编译Sass
- linux-kernel 学习计划
- java 多线程1
- SQLite数据插入异常
- leecode 每日解题思路 102-Binary Tree Level Order Traversal
- oracle中的一些函数笔记
- C# Tips:获得当前登录计算机的用户(本地用户/域用户)
- java-四个线程修改一个变量
- 创建android phonegap项目
- 配置 SQL Server Email 发送以及 Job 的 Notification通知功能
- spring boot / cloud (十六) 分布式ID生成服务
- Check whether a remote server port is open on Linux
- PageBase 公共基础类
- Filecoin协议(挖矿)
- html自定义弹框
- andorid 配置器组件和提示消息
- uva-10561-nim
热门文章
- *[topcoder]TaroFriends
- 数据挖掘10大算法(1)——PageRank
- Android系统
- PowerDesigner概念模型的Notation设置
- Android 显示原理简介
- eclipse(STS,myeclipse)老是报ThreadPoolExecutor$Worker.run()
- Android之NDK编程(JNI)
- Camel、Pastal、匈牙利标记法区别及联系
- [Codeforces673B]Problems for Round(思路,规律)
- poj 1845 Sumdiv (数论)