首页 > 其他分享 >函数

函数

时间:2024-12-29 22:30:39浏览次数:5  
标签:function 函数 int 参数 重载 默认值

函数

函数默认参数

函数的形参列表中的形参是可以有默认值的。

语法: 返回值类型 函数名 (参数= 默认值){}

int function(int a, int b = 10, int c = 10) 
{
	return a + b + c;
}

注意事项:

  • 若传入数据,则使用传入的数据,否则使用默认值。
  • 若某个参数有默认值,那么从这个参数往后,必须都要有默认值。
  • 函数的声明和定义只能有一个带默认参数,否则会引起二义性。

函数占位参数

函数的形参列表里可以有占位参数,调用函数时必须填补该占位。

语法: 返回值类型 函数名 (数据类型){}

void func(int a, int = 10) {}

注意事项:

  • 占位参数也可以有默认参数。
  • 占位参数必须填补。

函数重载

作用:函数名可以相同,提高复用性。

函数重载满足条件:

  • 同一个作用域下。
  • 函数名称相同,但函数签名不同
  • 函数参数类型不同个数不同顺序不同
  • 函数的返回值不可以作为函数重载的条件。

注意事项:

  • 引用作为重载条件

    void function(int &a)
    {
    	cout << "function(int &a) 调用 " << endl;
    }
    void function(const int &a)	//对常量的引用
    {
    	cout << "function(const int &a) 调用 " << endl;
    }
    function(a); //调用无const
    function(10);//传入一个常量,调用对常量的引用
    
  • 函数重载遇到默认参数

    void function(int a, int b = 10)
    {
    	cout << "function(int a, int b = 10) 调用" << endl;
    }
    void function(int a)
    {
    	cout << "function(int a) 调用" << endl;
    }
    function(10);	//引发二义性
    

    函数重载尽量少使用默认参数。

  • const

    void function(int a) {}
    void function(int a) const {}
    

    这两个函数签名不同。

标签:function,函数,int,参数,重载,默认值
From: https://www.cnblogs.com/wsdanshenmiao/p/18639718

相关文章

  • 开窗函数+group by案例
    CREATETABLEcity_data(citySTRING,random_fieldSTRING);INSERTINTOcity_data(city,random_field)VALUES('NewYork','example1'),('LosAngeles','example2'),('NewYork','example3&#......
  • Python中指数概率分布函数的绘图详解
    在数据科学和统计学中,指数分布是一种应用广泛的连续概率分布,通常用于建模独立随机事件发生的时间间隔。通过Python,我们可以方便地计算和绘制指数分布的概率密度函数(PDF)。本文将详细介绍指数分布的原理、应用场景,并提供详细的代码示例,展示如何在Python中绘制指数分布的概率密......
  • C语言函数的参数
    在C语言中,函数参数是用于向函数传递数据的重要元素。 函数参数分为形式参数(形参)和实际参数(实参)。 形式参数 -定义在函数声明或定义中的参数。例如在函数 intadd(inta,intb) 中, a 和 b 就是形参。它们像是函数内部的变量,在函数被调用时才会被分配内存空间,用......
  • PostgreSQL中FIRST_VALUE、LAST_VALUE、LAG 和 LEAD是窗口函数,允许返回在数据集的特
    在PostgreSQL中,FIRST_VALUE、LAST_VALUE、LAG和LEAD是窗口函数(windowfunctions),它们允许你在数据集的特定窗口(或分区)内访问行的相对位置。以下是对这些函数的详细解释和用法:1.FIRST_VALUEFIRST_VALUE函数返回在指定窗口或分区内的第一行的值。它常用于获取每个组的起......
  • Oracle数据库中FIRST_VALUE、LAST_VALUE、LAG和LEAD是用于在窗口函数中进行数据行之间
    在Oracle数据库中,FIRST_VALUE、LAST_VALUE、LAG和LEAD是用于在窗口函数中进行数据行之间相对位置访问的函数。下面分别介绍这些函数的作用和用法。1.FIRST_VALUEFIRST_VALUE函数返回在指定窗口帧内的第一行的值。常用于在分组或排序的上下文中获取某一组的起始值。......
  • 函数基础 - 函数定义、调用、返回值
    引言函数是编程中的基本构建块,用于将代码组织成可重用的模块。通过函数,我们可以将复杂的任务分解为更小、更易于管理的部分。C++提供了强大的函数支持,使得编写和使用函数变得非常灵活和高效。本文将详细介绍C++中函数的基础知识,包括函数的定义、调用和返回值,并通过示例帮助......
  • posix标准库函数整理
    POSIX标准定义的必须的头文件(26项)<fcntl.h> ----------------------文件控制<sys/types.h> ----------------------基本系统数据类型(很多类型其实都是用typedef重定义的,和基本类型没什么区别;只是为了定义pid_t,size_t,没别的意思)<sys/stat.h> ----------------------文件状......
  • 在js中如何实现顺序执行异步函数?
    在JavaScript中,有几种方法可以实现异步函数的顺序执行。以下是其中的一些方法:回调函数:这是最基本的实现异步操作顺序执行的方法。每个异步操作完成后,都会调用一个回调函数来执行下一个操作。但是,如果异步操作很多,这种方式会导致代码难以阅读和维护,通常被称为"回调地狱"。asyn......
  • 在js函数的参数都是按值传递的吗?
    在JavaScript中,函数的参数传递方式实际上是基于变量的类型来决定的。JavaScript中的数据类型大致可以分为两类:原始类型(PrimitiveTypes)和对象类型(ObjectTypes)。原始类型(PrimitiveTypes):这些类型包括Number、String、Boolean、Null、Undefined、Symbol(ES6新增)和BigInt(ES10新增)。......
  • 手动实现一个compose函数
    在前端开发中,compose函数通常用于组合多个函数,使得这些函数可以按照指定的顺序依次执行,并将前一个函数的输出作为后一个函数的输入。这样的函数组合方式在函数式编程中非常常见。下面是一个简单的compose函数的实现,它接受一系列函数作为参数,并返回一个新的函数,这个新函数会按......