1、整型变量的引用
程序如下:
#include <stdlib.h>
#include <iostream>
- 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、结构中的引用
- #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、指针中的引用
- #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、引用后的别名作为函数参数
代码:
- #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++的几种引用的类型,搞清楚没种引用相应的格式类型,理解也很容易。今天的学习到此为止。
c++引用问题
来源: http://www.bubuko.com/infodetail-2283284.html