计算机二级C++函数考点【2】

发布于 2018-07-19 12:21  编辑:jokex
0
计算机等级考试题库 扫码微信刷题

4函数返回类型

  根据函数是否带有参数以及函数是否有返回值,可以将函数分为如下四类。

  1带参数的有返回值函数

  定义形式为:

  <返回类型><函数名>(<参数列表>)

  {

  <语句序列>

  }

  2不带参数的有返回值函数

  定义形式为:

  <返回类型><函数名>()

  {

  <语句序列>

  }

  3带参数的无返回值函数

  定义形式为:

  void<函数名>(<参数列表>)

  {

  <语句序列>

  }

  4不带参数的无返回值函数

  定义形式为:

  void<函数名>()

  {

  <语句序列>

  }

  5函数参数

  C++中,函数之间传递参数有传值和传地址两种传递方式。此外,C++还提供了默认参数机制,可以简化复杂函数的调用。

  1参数的传递方式

  (1)传值

  传值是将实参值的副本传递(拷贝)给被调用函数的形参。它是C++的默认参数传递方式,在此之前的多数函数参数传递都是传值。

  由于传值方式是将实参的值复制到形参中,因此实参和形参是两个不同的变量,有各自的存储空间,可以把函数形参看作是函数的局部变量。传值的最大好处是函数调用不会改变调用函数实参变量的内容,可避免不必要的副作用。

  (2)传地址

  有时我们确实需要通过函数调用来改变实参变量的值,或通过函数调用返回多个值(return语句只能返回一个值),这时仅靠传值方式是不能达到目的。

  2默认参数

  在C++中,可以为参数指定默认值,在函数调用时没有指定与形参相对应的实参时就自动使用默认值。默认参数可以简化复杂函数的调用。

  默认参数通常在函数名第一次出现在程序中的时候,如在函数原型中,指定默认参数值。指定默认参数的方式从语法上看与变量初始化相似。

  6函数重载

  如果能用同一个函数名字在不同类型上做相类似的操作就会方便很多,这种情况即为函数重载。其实这一技术早已用于C++的基本运算符。例如加法操作只有一个运算符+,但它却可以用来做整型数、浮点数和指针的加法运算。将这一思想推广到函数,即为函数重载。

  7内联函数

  C++引入内联(inline)函数的原因是用它来取代C中的预处理宏函数。内联函数和宏函数的区别在于,宏函数是由预处理器对宏进行替换,而内联函数是通过编译器来实现的,因此内联函数是真正的函数,只是在调用的时候,内联函数像宏函数一样的展开,所以它没有一般函数的参数压栈和退栈操作,减少了调用开销,因此,内联函数比普通函数有更高的执行效率。

  在C++中使用inline关键字来定义内联函数。inline关键字放在函数定义中函数类型之前。不过,编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有用inline说明。


本文网址:http://www.k51.com.cn/info/jsjdjks/1807/1940849.html
选择分享到: