您的位置:首页 > 编程语言 > C语言/C++

C++分别用指针和引用实现交换函数

2014-10-08 21:33 441 查看
       前几天上课老师给出了一个课堂作业:请分别用指针和引用来实现两个数的交换。虽然题目比较俗套,但是好久没写过C++程序了,依然很生疏,所以我决定总结一下自己的实现,程序粗糙,风格也混合着C,希望大家给提提建议。

       老师出这个题目的目的无非是想让我们联系一下C++基本功,采用指针的方式是C语言的风格,用指针来存储变量的地址,然后通过取地址的内容,直接对内存所存储的数据进行了操作,而引用则是C++风格,引用相当于对一个变量起了一个别名,正常的名字跟别名指示的是同一块内存地址,这里要注意指针与引用在使用过程的代码。#include<cstdio>
//#include<iostream>
//using namespace std;

int Ptr_swap(int *pa,int *pb){ //使用指针方式
int temp;
temp = *pa;    //将指针指示的内容赋值给中间变量
*pa = *pb;
*pb = temp;

return 0;
}
int Cite_swap(int &ca,int &cb){ //使用 引用方式
int temp;
temp = ca;     //因为引用是变量的别名,他们指向相同的内存空间
ca = cb;       //所以可以直接使用别名来交换
cb = temp;

return 0;
}
int main(int args,char *argv[]){

//printf("hello ");

// char *s[] = {"yums","qq","tt"};

int x = 1;
int y = 2;
int *px = &x;
int *py = &y;

int Perror = Ptr_swap(px,py);
// cout<<x<<y<<endl;
printf("the sort by pointer is:%d %d \n",x,y);

int &cx = x;
int &cy = y;

int Cerror = Cite_swap(cx,cy);
printf("the sort by cite is:%d %d\n",x,y);

// printf("%c\n",86);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 指针 引用
相关文章推荐