本文主要总结【函数】相关概念。
函数定义一般形式如下:
返回类型 函数名(参数列表)
{
函数体
}
注意:
(1)如果参数列表中没有参数,称之为无参函数
(2)函数中用return返回返回值。如果没有返回值,返回类型为void;如果没有明确指定类型,默认返回类型为int
(3)C++不允许函数嵌套定义
如下是非法的
void f1()
{
void f2()
{
.........
}
}
函数的形参:函数定义时参数列表的参数
函数的实参:在主函数中调用该函数时指定的参数
函数的声明:函数在使用前,必须进行声明,一般形式为:
[<属性说明>]<函数返回类型><函数名>(<参数类型 形参名>)
注意:
(1)属性说明可省略:inline内联函数,static静态函数,virtual虚函数,friend友元函数
内联函数:将一个函数定义成inline后,每次调用就直接替换成函数体中的代码,省去函数调用,传参,返回等操作
(2)形参名可以与定义时不同,也可以省略;但参数类型一定要有
(1)传值调用:不会影响主调函数中实参的值
(2)引用调用:定义和声明时在形参前面加上&,将实参的地址放到C++为形参分配的内存空间中,这样形参的任何操作都会改变相应的实参的值
函数的作用域:函数的参数和在函数中声明并定义的变量是局部变量,被分配在堆栈上,随着函数执行而生成,退出而消亡。
函数重载:函数名字相同,但参数类型不同或个数不同。返回类型也可以不同,但不能仅仅是返回类型不同,否则编译器会给出语法错误。函数调用时,程序会自动根据实际参数来选取不同的函数。