定义一个函数,如果该函数要使用参数,则必须声明接受参数值的变量。这些变量称为函数的形式参数。
形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。
当调用函数时,有两种向函数传递参数的方式:
调用类型 | 描述 |
---|---|
传值调用 | 该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数对实际参数没有影响。 |
指针调用 | 该方法把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。 |
引用调用 | 该方法把参数的引用复制给形式参数。在函数内,该引用用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。 |
其中传值调用、指针调用同C语言中的概念相同,同时C++引入了一个新的传值方式:引用调用。其相当于给外部对象起了一个别名传入函数,那么在函数内部改变别名即是改变外部对象,引用调用的效果和指针调用相同,不同的地方有四点,一个是引用必须连接到一块合法的内存,不存在空引用,二个是一旦引用被初始化为一个对象,就不能被指向另一个对象,但是指针可以随时更改指向的对象,三个是引用必须在创建的时候初始化,而指针可以在任何时间被初始化,四个是引用不消耗空间,它只是个别名,但是指针消耗空间。