C++函数变体

在 C++ 中,函数可以有多种变体,包括:

1. 内联函数(inline function):内联函数是在编译时将函数的代码插入到调用该函数的地方。这样可以减少函数调用的开销,提高程序的执行效率。在函数定义前加上关键字 `inline` 即可将函数声明为内联函数,例如:

  inline int max(int a, int b) {
       return a > b ? a : b;
   }

2. 默认参数函数(function with default arguments):可以为函数的参数指定默认值,如果调用该函数时没有传递相应参数,则使用默认值。例如:

int sum(int a = 0, int b = 0) {
       return a + b;
   }

   在上面的代码中,我们定义了一个名为 `sum` 的函数,该函数有两个参数,分别是 `a` 和 `b`,它们的默认值都为 0。如果调用该函数时没有传递参数,则使用默认值计算结果。

int result1 = sum();       // result1 = 0
   int result2 = sum(2);      // result2 = 2
   int result3 = sum(2, 3);   // result3 = 5

3. 函数重载(function overloading):可以定义多个同名函数,但它们的参数列表必须不同。例如:

 

int max(int a, int b) {
       return a > b ? a : b;
   }
   
   double max(double a, double b) {
       return a > b ? a : b;
   }

   在上面的代码中,我们定义了两个名为 `max` 的函数,一个接收两个 `int` 类型的参数,另一个接收两个 `double` 类型的参数。根据传递的参数类型不同,编译器会自动选择调用相应的函数。

4. 函数模板(function template):函数模板可以定义一组通用的函数,其中部分参数可以是任意类型。例如:

  

 template<typename T>
   T max(T a, T b) {
       return a > b ? a : b;
   }

   在上面的代码中,我们定义了一个名为 `max` 的函数模板,它接收两个类型为 `T` 的参数,并返回它们的最大值。其中,`T` 是一个通用类型参数,可以用来表示任意类型。在函数调用时,编译器会自动根据传递的参数类型实例化出相应的函数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值