函数调用

一旦声明并定义了函数,就可以从程序中的任何位置 调用 该函数: 从 main 函数中,从另一个函数中,甚至从其自身。 调用函数涉及指定函数名,后跟函数调用运算符以及函数期望接收的任何数据值。 这些值是为函数定义的参数的 自变量 ,刚才描述的过程称为 将自变量传递给函数

C++ 如果尚未声明函数,那么可能无法调用该函数。

传递自变量可以通过两种方式完成:
  • 传递值,将自变量的 复制到被调用函数中的相应参数
  • 按引用传递,用于将自变量的 地址 传递到被调用函数中的相应参数

C++ 仅以 C++ 开头。

如果一个类具有一个析构函数或一个副本构造函数来执行超过一个按位复制,那么按值传递一个类对象会导致构造一个实际通过引用传递的临时对象。

当函数自变量是类对象并且以下所有属性都保留时,这是一个错误:
  • 该类需要副本构造函数。
  • 该类没有用户定义的副本构造函数。
  • 无法为该类生成副本构造函数。

C++ 仅 C++ 结束。

仅限 C 函数调用表达式始终是 rvalue。

C++ 函数调用属于下列其中一个值类别,具体取决于函数的结果类型:

  • 如果结果类型是 lvalue 引用类型或 ""函数类型的 rvalue 引用,那么为 lvalue
  • ""xvalue (如果结果类型是对对象类型的 rvalue 引用)
  • 其他情况下的 ""(prvalue) rvalue