函数模板及库函数

2023-05-16

函数模板(function template)是一个独立于类型的函数,可作为一种模式,产生函数的特定类型版本。

使用函数模板可以设计通用型的函数,这些函数与类型无关并且只在需要时自动实例化,从而形成“批量型”的编程方式。

语法:

template<模板形参表>返回类型 函数名(形参列表)

{

函数体

}

模板形参表(template parameter list)

是用一对尖括号括< >括起 来的一个或多个模板形参的列表,不允许为空,形参之间以逗号分隔,其形式有两种。 

①第一种形式(推荐使用)

typename 类型参数名1 , typename 类型参数名2,......

②第二种形式

class 类型参数名1 ,  class 类型参数名2,......

如:

#include <iostream>
 using namespace std;
 template <typename T> T add(T a,T b)
 {
 return a+b;
 }
 int main()
 {
 cout<<"int_add="<<add(10,20)<<endl; //生成整型版本的add函数
 cout<<"double_add="<<add(10.2,20.5)<<endl;//生成实型版本的add函数
 cout<<"char_add="<<add('A','\2')<<endl;//生成字符型版本的add函数
 cout<<"int_add="<<add(100,200)<<endl;
 return 0;
 } 

 库函数

所谓库函数是指事先由程序员编制好的函数。

多数情况下,基于各种理由,如保护知识产权,这些库函数仅提供二进制形式的目标代码给调用者链接,却没有提供源码形式的函数定义。

(1)在程序中添加库函数声明

►多数库函数将自己的函数原型和特殊数据等放在头文件(.h)中, 所以应首先使用文件包含命令将这些头文件包含到程序中。例如欲使用数学库函数,文件包含命令为:

   #include<cmath>

从而使得程序有函数声明,例如: y=sin(x); 调用就能够通过编译。

(2)将库函数目标代码连接到程序中

►在连接时,例如使用了sin函数,就必须要有sin函数的实现代码才能生成可执行文件,否则连接出错。要将库函数的目标代码能够连接到程序中,主要是配置好开发环境的相关参数,然后由连接器处理。

►标准库函数的连接在开发环境中是默认的,一般可以不用特别设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数模板及库函数 的相关文章

随机推荐

  • 修改docker容器端口映射的方法

    大家都知道docker run可以指定端口映射 xff0c 但是容器一旦生成 xff0c 就没有一个命令可以直接修改 通常间接的办法是 xff0c 保存镜像 xff0c 再创建一个新的容器 xff0c 在创建时指定新的端口映射 有没有办法不
  • 【操作系统入门到成神系列 五】CPU 是如何执行任务的

    作者简介 xff1a 大家好 xff0c 我是 xff0c 独角兽企业的Java开发工程师 xff0c Java领域新星创作者 个人公众号 xff1a xff08 回复 技术书籍 可获千本电子书籍 xff09 系列专栏 xff1a Java
  • 群晖docker镜像源更换为阿里云镜像源

    群晖硬件 xff1a DS218 43 系统版本 xff1a DSM 7 0 41890 docker版本 xff1a 20 10 3 1233 前言 xff1a 除了群晖自带的应用之外 xff0c docker里也拥有及其丰富的软件 xf
  • 学好Windows编程要看的书籍

    本文是接着前面的学好C 43 43 要阅读的书籍而写的 xff0c 如果想了解C 43 43 的学习的话请先看学好C 43 43 要阅读的书籍 xff1a http blog csdn net a809146548 article deta
  • Git分支与标签(干货!!!)

    目录 一 Git分支 分支的概念 xff1a 分支的类别 xff1a 分支策略 xff1a 分支命令 xff1a git操作之pull拉取远程指定分支以及push推送到远程指定分支 xff1a 1 pull操作 2 push操作 二 Tag
  • 单片机结构及一些寄存器

    SCM 将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统 SCM 61 CPU 43 OSC 43 ROM 43 RAM 43 T C 43 INT 43 BEC 43 I O 43 UART CPU 中央处理器 OSC
  • Git Gui

    目录 1 什么是Git Gui 2 什么是ssh key 3 git github生成密钥并通过 第一步 xff1a 本地电脑配置 1 配置用户名和邮箱 xff08 如果已经配置 xff0c 就跳过 xff09 2 检查下自己之前有没有已经
  • 韦东山百问网freeRTOS教程

    欢迎阅读韦东山百问网freeRTOS教程 xff01 韦东山百问网freeRTOS教程 文档 100ask net
  • 金三银四跳槽季,Linux面试题放送

    进入金三银四 xff0c 很多小伙伴有被动跳槽的打算 xff0c 所以更新一些Linux面试题 xff0c 希望能帮到大家 xff01 一 你之前在公司使用linux命令做什么 我们公司之前测试系统搭建在linux上 xff0c 使用lin
  • 【软件测试】简历中的项目经历可以怎么写?

    工作这10多年来 xff0c 也经常做招聘的工作 xff0c 面试过的人超过50人次了 xff0c 而看过的候选人的简历则有几百份了 xff0c 但是清晰且能突出重点的简历 xff0c 确实很少遇到 这里基本可以说明一个问题 xff0c 很
  • 一名高级的Javaer,应该了解的 MYSQL 高级知识点

    SQL查询流程 1 通过客户端 服务器通信协议与 MySQL 建立连接2 查询缓存 xff0c 这是 MySQL 的一个可优化查询的地方 xff0c 如果开启了 Query Cache 且在查询缓存过程中查 询到完全相同的 SQL 语句 x
  • 激光slam基础入门笔记2——位姿表示与变换矩阵

    前言 xff1a 初步了解位置与位姿 xff1a 参考链接 xff1a 机器人学 1 0 位置与姿态概述 已注销 的博客 CSDN博客 位置和姿态 二维空间位姿表示与变换矩阵推导 xff1a 参考链接 xff1a 机器人学 1 1 二维空间
  • 【githubgirl】自主导航无人机的硬件组成与搭建方案

    不久前 xff0c 浙江大学 FASTLAB 实验室 xff0c 在 GitHub 上开源了一套自主导航无人机的硬件组成与搭建方案 xff1a Fast Drone 250 该项目可应用于无人机在未知环境中的自主飞行 xff0c 集群飞行等
  • React路由传参的几种方式

    react路由传值有三种方式 xff1a 1 props params 方法 xff0c 该方法可以传递一个或多个值 xff0c 但是每个值的类型都是字符串 xff0c 没法传递一个对象 xff1b 2 query方法 xff0c 该方法类
  • 文章五:Python 网络爬虫实战:使用 Beautiful Soup 和 Requests 抓取网页数据

    一 简介 本篇文章将介绍如何使用 Python 编写一个简单的网络爬虫 xff0c 从网页中提取有用的数据 我们将通过以下几个部分展开本文的内容 xff1a 网络爬虫的基本概念Beautiful Soup 和 Requests 库简介选择一
  • 无人机目标检测:使用YOLOv4在VisDrone数据集上进行目标检测任务

    在本篇博客中 我们将探讨如何使用YOLOv4在VisDrone数据集上进行无人机目标检测任务 目标检测是计算机视觉中的一个重要任务 可以用于自动驾驶汽车 无人机监测和视频分析等多种应用 YOLOv4是一种实时目标检测算法 以其速度和准确性而
  • rospy的publisher和init_node

    文章目录 1 xff0c class Publiser xff08 发布者 xff09 2 rospy init node 初始化节点 1 xff0c class Publiser xff08 发布者 xff09 废话不多说 xff0c 先
  • ros功能包

    使用ROS的功能包使用以下常见的机器视觉应用 1 xff09 摄像头标定 xff1a 摄像头本身存在光学畸变 xff0c 可以使用camera calibration功能包实现双目和单目摄像头的标定 2 xff09 基于opencv的人脸识
  • 如何彻底关闭Win10自动更新,Win10永久关闭自动更新的方法

    如何彻底关闭Win10自动更新 xff1f Win10自动更新的问题是很多用户都遇到的问题 xff0c 很多时候我们关闭了自动更新 xff0c 过一段时间系统又自动更新了 xff0c 由于win10自动更新非常顽固 xff0c 所以我们要从
  • 函数模板及库函数

    函数模板 xff08 function template xff09 是一个独立于类型的函数 xff0c 可作为一种模式 xff0c 产生函数的特定类型版本 使用函数模板可以设计通用型的函数 xff0c 这些函数与类型无关并且只在需要时自动