笨蛋C++03 - 函数参数和按值传递

105 阅读2分钟

函数参数和按值传递

下面详细介绍一下函数参数,C++通常按值传递参数,这意味着将数值传递给参数传递给函数。而后者将添加一个新的变量。比如:

double volume=cube(side);

其中,side是一个变量,在前面的运行过程中,其值为5。cube()的函数头如下:

double cube(double x);

被调用的时候,该函数会创建一个新的名为X的double变量,并将其值初始化为5,这样,cube()执行的操作将不会影响main中的数据。因为cube使用的是side的副本。而不是原来的数据。稍后将介绍一个实现这种保护的例子。用于接收值的变量称为形参。传递给函数的值称为实参。出于简化的目的,C++允许使用参数(argument)来表示实参。使用参量paramter来表示形参。因此函数将参量传递给参数。

在函数中声明的变量(包括参数)是该函数所私有的。在函数被调用时,计算机将为这些变量分配内存,在函数结束的时候。计算机将释放这些变量使用的内存。这样的变量称为局部变量。因为他们被限制在函数中。前面提到过。这样做似乎有利于保持数据的完整性。如果在main函数中声明了一个名为x的变量。同时在另外一个函数也声明了一个名为x的变量。则他们两个是完全不同的、毫无关系的变量。这种变量称为自动变量。因为他们是在程序执行过程中被释放和销毁的。

C++中分配和释放内存的过程称之为创建和毁坏变量