美文网首页校招备战笔记
C++ 函数调用时的三种参数传递方式

C++ 函数调用时的三种参数传递方式

作者: iOS佥 | 来源:发表于2018-06-03 22:32 被阅读0次

    C++ 函数调用时的三种参数传递方式

    [TOC]

    为了又一年校招季,准备开始刷题了。决定使用 C++,那么先复习一下,对一些编程中可能遇到的问题填一下坑吧!!!

    原理方面不在文章中深究,主要复习一下用法

    在 C++ 中,参数传递的方式有三种:

    1. 按值传递
    2. 地址传递
    3. 引用传递
    

    其中,1 和 2 的方式与 C 语言相同。以最简单的 swap 函数为例。

    1.按值传递

    只改变形参的值,不改变实参的值。

    void swap1(int x, int y) {
        int t = x;
        x = y;
        y = t;
    }
    

    使用方法:
    swap1(a, b)

    2.地址传递

    通过指针间接访问,改变实参的值

    void swap2(int *x, int *y) {
        int t = *x;
        *x = *y;
        *y = t;
    }
    

    使用方法:
    swap2(&a, &b)

    3.引用传递

    形参和实参一起改变值

    void swap3(int &x, int &y) {
        int t = x;
        x = y;
        y = t;
    }
    

    使用方法:
    swap3(a, b)

    拓展一下,OC 中的这种情况

    发现在 OC 中是方式1和2和上面所说的是一样的,但是不包含方式3。因为 OC 还是基于 C 语法。
    但是在 OC++(Objective-C++)中,方式1、2、3都与上述一样。

    相关文章

      网友评论

        本文标题:C++ 函数调用时的三种参数传递方式

        本文链接:https://www.haomeiwen.com/subject/ylpssftx.html