zoukankan      html  css  js  c++  java
  • C++函数传递指向指针的指针的应用

    传递指向指针的引用
    假设我们想编写一个与前面交换两个整数的 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 函数的任意指针的别名。

     1 #include<iostream>
     2 
     3 using namespace std;
     4 
     5 void change_ptr(int *&p1,int *&p2)
     6 {
     7     int *temp;
     8     temp=p1;
     9     p1=p2;
    10     p2=temp;
    11 }
    12 int main()
    13 {
    14     int a1=10;
    15     int a2=12;
    16     int *p1=&a1,*p2=&a2;
    17     cout<<"p1="<<p1<<endl;
    18     cout<<"p2="<<p2<<endl;
    19     change_ptr(p1,p2);
    20     cout<<"p1="<<p1<<endl;
    21     cout<<"p2="<<p2<<endl;
    22 
    23     system("pause");
    24     return 1;
    25 }
  • 相关阅读:
    资产采集:
    思想:
    Redis 以及 Python操作Redis
    Django在使用Mysql迁移数据库时,会报的错
    HTML
    数据库操作(四)
    数据库操作(二)
    数据库操作(三)
    数据库操作(一)
    MySQL的sql_mode模式说明及设置
  • 原文地址:https://www.cnblogs.com/yanliang12138/p/4217080.html
Copyright © 2011-2022 走看看