1、整型变量的引用
程序如下:
#include <stdlib.h>
#include <iostream>
|
1
2
3
4
5
6
7
8
9
10
11
12
|
using
namespace
std;
int
main()
{
int
a=10;
int
&b=a;
b=200;
//此处变量赋值不能int ,否则重定义
cout<<
"此时a的值是;"
<<a<<endl;
a=100;
cout <<
"此时b的值是:"
<<b<<endl;
system
(
"pause"
);
return
0;
}
|
标明,引用无非就是给已经出现的变量定义了一个别名。所以在程序执行的过程中,对原来的变量做何种操作和对于他唯一的别名做什么操作,其实是别无二致的事情,因为本质上,两者是一种东西。
2、结构中的引用
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <stdlib.h>
#include <iostream>
using
namespace
std;
typedef
struct
{
int
x;
int
y;
}COORD;
//结构体的定义,这是结构体的名字、
int
main(){
COORD c;
//结构体类型的c.
COORD &c1=c;
//数据类型就是结构体名,然后按格式&别名
c1.x=10;
c1.y=29;
cout<<c.x<<endl<<c.y<<endl;
system
(
"pause"
);
return
0;
}
|
运行结果:
注意的问题:结构体的定义、结构体引用时,就结构体名就相当于数据类型。
3、指针中的引用
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include <stdlib.h>
#include <iostream>
using
namespace
std;
int
main()
{
int
a=10;
int
*p=&a;
//定义一个指针p,它指向a.注意&
int
*&q=p;指针类型引用的格式:数据类型 * & 别名=原来指针
*q=5;
//注意不能前面再加数据类型,否则出现重复定义
cout <<a<<endl;
system
(
"pause"
);
return
0;
}
|
运行结果:
4、引用后的别名作为函数参数
代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <stdlib.h>
#include <iostream>
using
namespace
std;
//声明一个具有交换功能的函数
void
fun(
int
&a,
int
&b);
//a,b分别是实际参数的别名,作为形参使用,注意起别名的时候一定要加数据类型的啊
int
main()
{
int
x=10;
int
y=20;
cout <<x<<
","
<<y<<endl;
fun(x,y);
cout<<x<<
","
<<y<<endl;
system
(
"pause"
);
return
0;
}
void
fun (
int
&a,
int
&b){
int
c=0;
c=a;
a=b;
b=c;
};
运行结果:
|
今天主要学习了c++的几种引用的类型,搞清楚没种引用相应的格式类型,理解也很容易。今天的学习到此为止。
本文转自 lillian_trip 51CTO博客,原文链接:http://blog.51cto.com/xiaoqiaoya/1960952,如需转载请自行联系原作者



