zoukankan      html  css  js  c++  java
  • 交换函数的两种不同的实现方式------地址传递和引用参数

    //________________________________

    //用地址传递的方式来实现两个数的交换

    //________________________________

    #include <iostream.h> void swap(int *a, int *b) { int temp;  temp = *a; *a = *b; *b = temp; }

    void main() { int val1 = 10, val2 = 20; cout << "Before swap, val1 =" << val1 << "  " << "val2 =" << val2 << endl;
    swap(&val1,&val2); cout << "After swap, val1 =" << val1 << "  " << "val2 =" << val2 <<endl;
    }

     

    注:指针作为函数参数,提供了一种可以间接修改调用该函数参数值的手段。

     

     

     

    //________________________________

    //用引用参数的方式来实现两个数的交换

    //________________________________

    #include <iostream.h> void swap(int &a, int &b) { int temp;  temp = a; a = b; b = temp; }

    void main() { int val1 = 10, val2 = 20; cout << "Before swap, val1 =" << val1 << "  " << "val2 =" << val2 << endl;
    swap(val1,val2); cout << "After swap, val1 =" << val1 << "  " << "val2 =" << val2 <<endl;
    }

    注:引用是它所引用的常量或变量的一个别名,它们实际上是同一回事。同样,当函数的形式参数是引用类型时,它实际上是对实在参数所代表的变量或常量的引用,它自己不具有独立的内存空间。

  • 相关阅读:
    面试题32
    面试题28. 对称的二叉树
    面试题55
    面试题04. 二维数组中的查找
    面试题58
    面试题57. 和为s的两个数字
    如果Python对于磁盘没有写入权限,还会运行吗?
    Python中的import语句
    Python决定一个变量时局部的,还是全局的,是在编译期
    Python中的Comprehensions和Generations
  • 原文地址:https://www.cnblogs.com/xuhj001/p/3436181.html
Copyright © 2011-2022 走看看