C++入门4——函数

函数声明

  • 函数定义:函数如何实现
  • 静态变量:静态变量只在执行线程第一次到达他的时候初始化。例如:
#include <iostream>

using namespace std;

void f(int a);

int main(){
    f(3);
    //f(4);
}

void f(int a){
    //static int n = 0;
    while(a --){
        static int n = 0;
        int x = 0;
        cout << "n == " << n ++ << " x == " << x ++ << endl;
    }
}

输出为:
n == 0 x == 0
n == 1 x == 0
n == 2 x == 0

参数传递

  • 值传递:函数中调用的是变量的一个副本,函数中变量的改变不会改变函数外变量的值
  • 址传递:传递的是指针,函数外变量的值也会改变
  • 引用类型:传递的是引用,函数外变量的值也会改变
    • 修改引用参数的函数会使程序更加难读,因此最好避免写这种函数
    • 但是,通过引用传递大对象,比值传递的效率更高一些。因为值传递会新建一个该参数的副本。
    • 在这种情况下,可以将该参数声明为const,以说明使用引用类型的参数仅仅是为了效率的原因,而不是想让调用函数能够修改参数的额值。
  • 数组参数
    • 传递数组参数时无法知道数组的长度,一种方法是在函数的参数里增加一个说明数组的长度,另一种方式是使用vector

返回值

  • 每当一个函数被调用,就会建立起他的参数和局部变量的一套新副本;在函数返回后,这些存储空间又会被另作他用。所以,绝不能返回指向局部变量的指针或者局部变量的引用。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容