C++中别名的简单理解
来源:互联网 发布:全民公敌 知乎 编辑:程序博客网 时间:2024/05/22 12:37
#include<iostream>#include<stdlib.h>using namespace std;int main(){int a=10;int &b=a;//此处为c和c++之间的一个不同的地方,&在C语言当中是取地址符的含义但是在C++当中则是引用的含义 ,即在对b进行操作时,实际上是在对a进行操作,即相当于b是a的一个//别名,b和a代表的是同一块相同的地址空间cout<<"对变量a进行输出操作:a="<<a<<endl;b=20;//通过a的别名b来对a所代表的内存空间当中的数据进行修改操作cout<<"经过别名修改之后的a="<<a<<endl;a=30;cout<<"对a进行修改操作之后,同过其别名来对变量a当中的内容进行输出操作:b="<<b<<endl; }//指针时开辟一块内存空间来存放指定变量的地址,而别名则是直接指向指定变量的,&(b)则是指向变量的地址,所以变量a和别名b将处于等同的地位
#include<iostream>using namespace std;typedef struct{int x;int y;}Coord;int main(){Coord c;//声明一个结构体变量Coord &c1=c;//建立结构体变量c的别名,使得c1变量引用cc1.x=10;c1.y=20;cout<<"x="<<c.x<<endl;cout<<"y="<<c.y<<endl;//-------------------------------------------------------------------------------int a=3;int *p=&a;//建立一个指针p另指针p指向aint *&q=p;//q是一个指针变量,所以要加*,q是指针p的一个别名所以为&q=p,*(&q)则表明当前别名变量时一个指针变量,所以*q与*p二者之间将是等价的 cout<<"*p="<<*p<<endl;*q=5;cout<<"*p="<<*p<<endl; }
#include<iostream>using namespace std;void swap(int &x,int &y);int main(){int x,y;x=10;y=20;cout<<"交换之前:x="<<x<<",y="<<y<<endl;swap(x,y);//此处在进行参数的传递的时候相当于进行了别名的定义操作 &a=x,&b=y,即另a=x然后对a进行引用操作 cout<<"交换之后:x="<<x<<",y="<<y<<endl;}void swap(int &a,int &b){int temp;temp=a;a=b;b=temp;}
阅读全文
0 0
- C++中别名的简单理解
- c语言中堆栈的简单理解
- C语言中关于位段的简单理解
- C语言中fpritnf函数的简单理解
- c语言中对可变参数列表的简单理解
- C++,OpenCV 中template(模板)的简单理解
- C++:简单的继承理解
- 对于STM32别名区的理解
- 对于STM32别名区的理解
- M32别名区的理解 (转载)
- 对于STM32别名区的理解
- sql中别名的用处
- Mybatis中别名的作用
- C语言中给函数取别名
- javascript 中!!的简单理解
- c中select的理解
- C++: 为数据类型定义别名的方式
- 简单谈谈对Object C的理解
- opencv Mat元素的访问方法
- QT:Error while building/deploying project
- 欢迎使用CSDN-markdown编辑器
- C文件读写
- Windows编程_Lesson008_内存_内存修改器
- C++中别名的简单理解
- linux命令行解刨
- Windows11
- HDU 1404 Digital Deletions [SG]【博弈】
- mybatis多表关联
- Cookie保存中文 编码
- Linux下常用操作
- 分页技术框架(Pager-taglib)学习一(页面分页)
- Windows12