C++函数传递指向指针的指针的应用
2015-01-11 20:43
288 查看
传递指向指针的引用
假设我们想编写一个与前面交换两个整数的 swap 类似的函数,实现两个指
针的交换。已知需用 * 定义指针,用 & 定义引用。现在,问题在于如何将这两
个操作符结合起来以获得指向指针的引用。这里给出一个例子:
// swap values of two pointers to int
void ptrswap(int *&v1, int *&v2)
{
int *tmp = v2;
v2 = v1;
v1 = tmp;
}
形参
int *&v1
的定义应从右至左理解:v1 是一个引用,与指向 int 型对象的指针相关联。也
就是说,v1 只是传递进 ptrswap 函数的任意指针的别名。
假设我们想编写一个与前面交换两个整数的 swap 类似的函数,实现两个指
针的交换。已知需用 * 定义指针,用 & 定义引用。现在,问题在于如何将这两
个操作符结合起来以获得指向指针的引用。这里给出一个例子:
// swap values of two pointers to int
void ptrswap(int *&v1, int *&v2)
{
int *tmp = v2;
v2 = v1;
v1 = tmp;
}
形参
int *&v1
的定义应从右至左理解:v1 是一个引用,与指向 int 型对象的指针相关联。也
就是说,v1 只是传递进 ptrswap 函数的任意指针的别名。
#include<iostream> using namespace std; void change_ptr(int *&p1,int *&p2) { int *temp; temp=p1; p1=p2; p2=temp; } int main() { int a1=10; int a2=12; int *p1=&a1,*p2=&a2; cout<<"p1="<<p1<<endl; cout<<"p2="<<p2<<endl; change_ptr(p1,p2); cout<<"p1="<<p1<<endl; cout<<"p2="<<p2<<endl; system("pause"); return 1; }
相关文章推荐
- C++ 函数参数传递-传递指向指针的引用
- 针对上一篇指针问题详细说明(c++向函数传递指针并修改其指向的问题)
- c/c++向函数传递指针并修改其指向的问题
- c/c++向函数传递指针并修改其指向的问题
- C/C++语言中指向函数的指针
- C++和C里,指向函数的指针有所不同
- C/C++语言中指向函数的指针
- C++成员函数指针的应用
- C/C++语言中指向函数的指针
- 第10章 指针(七) 应用1------函数间数据的双向传递
- c++之指针作为函数参数传递的问题
- C/C++语言中指向函数的指针
- C++指向函数的指针做函数的形参
- C/C++语言中指向函数的指针
- [C++] 函数指针的应用
- C++点滴:向函数中传递指针和传递指针的引用的区别:
- C++成员函数指针的应用(学习收录)
- 一个C++程序例子——指向函数的指针、含有可变形参的函数(备查)
- C++ VS C#(7):指向函数的指针和委托
- C++中函数怎么返回一个二维数组。指针怎么指向二维数组?