Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >C++函数内置、函数重载、函数模板

C++函数内置、函数重载、函数模板

原创
作者头像
小林C语言
修改于 2020-11-30 10:10:00
修改于 2020-11-30 10:10:00
7680
举报

C++内置函数

C++提供一种可以提高效率的方法,在编译时将所调用函数的代码直接嵌入到主调函数中,而不是将流程转出去,这种函数称为C++的内置函数。

指定内置函数的方法很简单,只需要在函数首行的左端加一个关键字inline即可。

代码语言:txt
AI代码解释
复制
inline int AddSum(int num_1,int num_2)//函数定义 
{
  int sum;
  sum=num_1+num_2;
  return sum; //将sum的值返回到调用函数处 
}

可以在声明函数和定义函数时都写inline,也可以只在其中一处声明,效果一样。

虽然使用内置函数可以节省运行时间,但却增加了目标程序的长度,因此一般只将规模很小而使用频繁的函数声明为内置函数。

读者需要知道一点,内置函数中不能包括复杂的控制语句,如循环语句和switch。

C++函数的重载

C++允许用同一函数名定义多个函数,这些函数的参数个数和参数类型不同,即对一个函数名重新赋予新的含义,使一个函数名可以多用,这就是函数的重载。

代码语言:txt
AI代码解释
复制
int AddSum(int num_1,int num_2)//整型
{
  
}
float AddSum(float num_1,float num_2)//单精度浮点型
{
  
} 
double AddSum(double num_1,double num_2)//双精度浮点型
{
  
}

C++函数函数

函数模板,实际上就是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。

代码语言:txt
AI代码解释
复制
template<typename T>
T max(T a,T b,T c)
{
  if(b>a)
  {
    a=b;
  }
  else if(c>a)
  {
    a=c;
  }
  return a;
}

C++函数内置、函数重载、函数模板

更多案例可以go公众号:C语言入门到精通

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C++ 内置函数
调用函数时需要一定的时间和空间的消耗,一般的程序调用函数时的过程: 1.执行函数中调用前的语句; 2.转移到被调用函数的入口处,同时进行参数传递; 3.执行被调用的函数; 4.带回被调用函数的返回值; 5.接着执行主调函数中未执行的语句。
chaibubble
2022/05/07
2840
C++ 初识函数模板
如果现在有一个需求,要求编写一个求 2 个数字中最小数字的函数,这 2 个数字可以是 int类型,可以是 float 类型,可以是所有可以进行比较的数据类型……
一枚大果壳
2022/09/16
6320
C++函数调用 | 对被调函数做声明
在C++中,不允许对函数做嵌套定义,也就是说在一个函数中不能完整地包含另一个函数,在一个程序中每个函数的定义都是互相平行和独立的。
小林C语言
2020/11/30
1.6K0
C++函数调用 | 对被调函数做声明
C/C++开发基础——函数模板
模板编程分两种,分别是算法抽象的模板、数据抽象的模板。算法抽象的模板以函数模板为主,数据抽象的模板以类模板为主。
Coder-ZZ
2023/09/04
1680
C/C++开发基础——函数模板
从零开始学C++之模板(一):函数模板、函数模板特化、重载函数模板、非模板函数重载
文章主要讲述了如何利用C++模板实现代码复用和面向对象编程,包括函数模板、类模板以及模板的偏特化。
s1mba
2017/12/28
2.2K0
从零开始学C++之模板(一):函数模板、函数模板特化、重载函数模板、非模板函数重载
C++之函数模板(二)
通过函数模板定义的函数如果和普通函数名称相同,以及重载函数模板,我们在调用这个函数的时候,到底是执行哪一个函数。
zy010101
2020/04/08
3510
C++泛型编程,模板(一)函数模板
建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。
CtrlX
2022/09/26
3420
C++函数模板入门教程
在《C++函数重载》一节中,为了交换不同类型的变量的值,我们通过函数重载定义了四个名字相同、参数列表不同的函数,如下所示:
C语言与CPP编程
2020/12/02
3070
C++之函数模板(一)
C++是一门非常强大,非常复杂,非常庞大的语言。C++本身从C语言发展而来,它一开始就具备了面向过程编程和面向对象编程这两种编程范式(编程风格,其实就是程序设计的不同哲学理念)。后来随着C++的逐步发展,它支持了泛型编程。本文将要介绍的函数模板就是泛型编程的程序设计理念。再后来C++有了模板元编程,这本质上就是函数式编程。在C++11标准中又引进了lambda表达式。到此为止,C++已经变得非常复杂,非常庞大,同时也非常强大。我不太了解函数式编程的设计理念是什么。从百度百科的介绍来看,应该是函数作为程序设计的第一位。C++本身并不提倡使用函数式编程风格。
zy010101
2020/04/08
4170
函数模板 ## 函数模板
template <>void Swap<job>(job&, job&); //or template <>void Swap(job&, job&);
Alan_1
2023/04/30
2.2K0
【C++】泛型编程 ② ( 函数模板与普通函数区别 )
函数模板与普通函数区别 : 主要区别在于它们能够处理的 数据类型数量 和 灵活性 ;
韩曙亮
2023/11/16
2530
【C++】泛型编程 ② ( 函数模板与普通函数区别 )
C++中模板的初级使用函数模板(刚刚接触模板概念的小白也能明白)
模板的核心思想是让编译器在编译时生成适用于具体类型的代码,这个过程称为模板实例化。C++ 中的模板分为两种:函数模板和类模板。
用户11286421
2024/09/23
1460
C++中模板的初级使用函数模板(刚刚接触模板概念的小白也能明白)
C++函数模板详解
经常有碰到函数模块的应用,很多书上也只是略有小讲一下,今天又狂碰到函数模块,无奈特地找来C++编程经典<>翻阅一遍,终于有所全面了解..... C++函数模块基础: 一. 问题: 强类型语言要求我们为
程序员互动联盟
2018/03/16
1K0
C++ 函数模板
函数重载功能实现了一个函数名的重复定义,但是即使是这样,在程序中仍然需要分别定义每一个函数,如下连接: http://blog.csdn.net/chaipp0607/article/details/55281496
chaibubble
2022/05/07
2090
【C++】泛型编程 ③ ( 函数模板 与 普通函数 调用规则 | 类型匹配 | 显式指定函数模板泛型类型 )
上一篇博客 【C++】泛型编程 ② ( 函数模板与普通函数区别 ) 中 , 分析了 函数参数 类型匹配 下的 普通函数 与 函数模板 的调用规则 ;
韩曙亮
2023/11/16
2520
【C++】泛型编程 ③ ( 函数模板 与 普通函数 调用规则 | 类型匹配 | 显式指定函数模板泛型类型 )
C++函数模板(模板函数)详解
大家好,又见面了,我是你们的朋友全栈君。 C++函数模板(模板函数)详解 定义 用法: 函数模板的原理 延申用法 2.1为什么需要类模板 2.2单个类模板语法 2.3继承中的类模板语法 案例1: 案例2: 2.4类模板的基础语法 2.5类模板语法知识体系梳理 1.所有的类模板函数写在类的内部 复数类: 2.所有的类模板函数写在类的外部,在一个cpp中 2.5总结 关于类模板的几点说明: 2.6类模板中的static关键字 案例2:以下来自:C++类模板遇上static关键字 2.7类模板在项目开发中的
全栈程序员站长
2022/07/22
1.9K0
C++函数模板(模板函数)详解
【C++】泛型编程 ① ( 函数模板 | 函数模板概念 | 函数模板意义 | 函数模板定义语法 | 函数模板调用语法 | 显式类型调用 | 自动类型推导 )
函数模板 Function Template 是 C++ 语言 中的 重要特性 ;
韩曙亮
2023/11/15
2710
【C++】泛型编程 ① ( 函数模板 | 函数模板概念 | 函数模板意义 | 函数模板定义语法 | 函数模板调用语法 | 显式类型调用 | 自动类型推导 )
【C++初阶】函数模板与类模板
于是,大佬心里就在想,能不能像铸铁一样,刻出一个模子(模板),然后通过浇筑不同的材料(不同的类型),从而锻造成不同材料制成的宝刀(不同类型的目标代码)
MicroFrank
2023/01/16
7910
25.C++- 泛型编程之函数模板(详解)
本章学习: 1)初探函数模板 2)深入理解函数模板 3)多参函数模板 4)重载函数和函数模板 ---- 当我们想写个Swap()交换函数时,通常这样写: void Swap(int& a, int& b) { int c = a; a = b; b = c; } 但是这个函数仅仅只能支持int类型,如果我们想实现交换double,float,string等等时,就还需要从新去构造Swap()重载函数,这样不但重复劳动,容易出错,而且还带来很大的维护和调试工作量。更糟的是,还会增加可执
诺谦
2018/04/18
1K0
25.C++- 泛型编程之函数模板(详解)
函数模板与同名的非模板函数不可以重载(重载的定义)
关于函数的重载机制,是一个比较复杂的问题,其中涉及到了优先级定义和最佳匹配等问题,如果要阐述清楚,恐怕不是一两篇文章就能说的明白。但是如果掌握了一些常用的“规律”,对于了解程序对重载函数是如何进行选择也有很大的好处,本文尝试将自己理解的知识,结合下面简单的例子简略的说说函数重载机制,文章的摘录部分列出了一些关于程序如何选择重载函数的规则。: )
全栈程序员站长
2022/07/26
9080
推荐阅读
相关推荐
C++ 内置函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档