永发信息网

在C++里面,如果两个指针互换地址,那么两个指针的指向的值互换吗?

答案:2  悬赏:10  手机版
解决时间 2021-02-12 08:21
在C++里面,如果两个指针互换地址,那么两个指针的指向的值互换吗?
最佳答案
指针互换,两个指针指向的地址中的值不变。
举个例子指针a指向地址0x10,0x10中存了个字符‘q’;
指针b指向地址0x11,0x11中存了个字符‘w’;
交换后,指针a指向地址0x11,指针b指向地址0x10。
所以通过指针读取的时候看似是交换了,但是实质上来说值没有变。
全部回答

首先说明一点,任意对象的地址有天然的常量属性,是不可能互换的
比如:int a,b;
int* pi;
pi=&a;
&a=&b; //这个是不行的,&a是个const
&b=pi; //&b也是个const
我估计你的意思是,通过函数交换两个指针的值,如果用C语言的方法,那就是把指针的地址传递给函数,就是二级指针了:void swapp(int** p1, int** p2)

      int* t; t=*p1;*p1=*p2;*p2=t;

int main()
{
  int a=1,b=2;
  int *p1=&a;
  int *p2=&b;
  swapp(&p1,&p2);//执行该函数以后p1指向b,p2指向a了

而c++有引用,用引用可以双向传递了:void swapp(int*& rp1,int*& rp2)//指针的引用

      int* t;
      t=rp1; rp1=rp2;rp2=t;

int main()
{
  int a=1,b=2;
  int *p1=&a;
  int *p2=&b;
  swapp(p1,p2);//执行该函数以后p1指向b,p2指向a了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
北京英东通运物流有限公司(北臧村镇魏永路11
2.0l中口碑最好的发动机
奔驰物流基地(旧宫镇三台山路)地址在什么地方
乐从文化公园地址在什么地方,想过去办事
耐火等级为二级的高层民用建筑防火分区的最大
问:大众宝来,和k3,福睿斯,卡罗拉,雷凌!
事业单位备注里说”面向基层服务毕业生定向招
龙文学校(西翠路)地址在哪,我要去那里办事
求描写晒被子动作的段落 、 在线等.
奔驰物流基地(北臧村工业园临51)地址在什么地
1943年的德黑兰会议上,英国首相丘吉尔曾说:
昂立少儿培训中心在什么地方啊,我要过去处理
三国战记怎么捡火剑
菜鸟驿站(超市)(林校路街道文新南街265号院联
西安比较好的网络营销公司有哪些,这些中那些
推荐资讯
黄帝内经 英文怎么翻译?或者说有翻译么?
为什么用数字万用表测电阻是电阻不能带电?如
中国移动(蜜井营业厅)地址好找么,我有些事要
东关学校地址在什么地方,想过去办事
今年CBA全明星节目表是怎样的?比如哪一天扣
畅所欲言的欲是什么
云云美容地址好找么,我有些事要过去
碟曼美容健康会馆怎么去啊,有知道地址的么
商场化妆品部销售经理工作作经验和心得体会
ROOKIE地址有知道的么?有点事想过去
郁木路/普正大道(路口)地址在什么地方,想过
洛奇地精皮制手套有什么用
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?