C++ Primer阅读笔记--函数重载和内联函数

2023-11-14

1--函数重载

        main 函数不能重载;

        重载函数在形参数量形参类型上有所不同;

        不允许两个函数除了返回类型外其他所有的要素都相同(即函数重载不允许只有返回类型不同);

        如果形参是某种类型的指针或引用,则通过区分其指向的是常量对象还是非常量对象可以实现函数重载;

Record lookup(Account *); // 函数作用于 Account 的引用
Record lookup(const Account&); // 重载函数,作用于常量引用

2--内联函数

        内联函数可以避免函数调用的开销;将函数指定为内联函数,编译器会将其在每一个调用点上进行展开,通过避免函数调用的开销;

        使用 inline 关键字声明内联函数;  

        constexpr 函数是指能用于常量表达式的函数,其返回类型及所有的形参类型均为字面值类型,函数体内必须有且仅有一条 return 语句;

        在 constexpr 函数初始化时,编译器会把对 constexpr 函数的调用替换成其结果值,并将其隐式地转换成内联函数

     

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

C++ Primer阅读笔记--函数重载和内联函数 的相关文章

随机推荐

  • linux下shell脚本启动jar包

    样例1 bin bash jar包文件路径及名称 目录按照各自配置 APP NAME home jar sys modules gen lgs modules gen jar 日志文件路径及名称 目录按照各自配置 LOG FILE home
  • C++函数模板和类模板的声明和定义问题

    C 函数模板和类模板的声明和定义问题 编译器并不是把函数模板处理成能够处理任意类的函数 编译器从函数模板通过具体类型产生不同的函数 编译器会对函数模板进行两次编译 在声明的地方对模板代码本身进行编译 在调用的地方对参数替换后的代码进行编译
  • JVM入门必备

    1 JVM 的位置 2 JVM 的体系结构 JVM Java虚拟机 是Java程序的运行环境 它对于Java平台的运行和跨平台特性的实现有着重要的作用 JVM的体系结构有以下几个部分 类加载器 ClassLoader 负责将 class字节
  • Nginx多站点部署

    背景 在nginx下每次新增站点需要修改nginx conf配置文件 比较麻烦 还容易出错 可以采用导入外部配置的方式进行添加 操作 将主配置文件中的server节点进行备份 然后删除主配置文件中的server 添加下面的配置 http i
  • SRAM,SDRAM,DRAM,ROM,EPROM,EEPROM

    SRAM 静态RAM 不用刷新 速度可以非常快 像CPU内部的cache 都是静态RAM 缺点是一个内存单元需要的晶体管数量多 因而价格昂贵 容量不大 什么是SRAM SRAM 的英文全称是 Static RAM 翻译成中文就是 静态随机存
  • hackbar 的简单使用

    https www cnblogs com wayne tao p 11027650 html 前言 hackbar是web渗透时的经典工具 但是当我开始学习网络安全的时候 发现hackbar已经开始收费了 本篇抛砖引玉介绍几个使用方法 针
  • springmvc源码学习(二十八)解决跨域的几种方式

    目录 前言 一 跨域 二 解决 1 CorsFilter 2 实现 WebMvcConfigurer 3 实现 HandlerInterceptor 前言 一 跨域 是由于浏览器的同源策略限制 同源策略是一个重要的安全策略 会阻止一个域的j
  • 解决Windows update medic service服务禁用不了拒绝访问

    解决Windows update medic service服务禁用不了拒绝访问 解决方法 方法一 CMD命令 1 首先使用 Win R 组合快捷键 打开运行对话框 然后输入命令 cmd 点击下方的 确定 打开服务 如下图所示 复制这条命令
  • 【Java面试】Mysql为什么使用B+Tree作为索引结构

    一个工作8年的粉丝私信了我一个问题 他说这个问题是去阿里面试的时候被问到的 自己查了很多资料也没搞明白 希望我帮他解答 问题是 Mysql为什么使用B Tree作为索引结构 关于这个问题 看看普通人和高手的回答 普通人 B 数它的特征就是相
  • 用VS Code创建ASP.NET Core Web API项目:TodoWebApi。(默认空项目,不与数据库交互)

    目录 一 使用VS Code终端创建一个 Net Core Web API项目 二 使用VS Code添加相关的NuGet程序集 2 1 方式一 使用 VS Code 终端的 dotnet 命令添加相关的NuGet程序集 2 2 方式二 使
  • TRC20和ERC20的区别(trc20怎么换成erc20)

    TRC20和ERC20的区别 trc20怎么换成erc20 TRC20和ERC20是两种不同的区块链协议 分别基于波场 TRON 和以太坊 Ethereum 网络 它们都可以用来发行代币 比如USDT 但是在转账费用 交易速度 智能合约等方
  • Flutter安装部署运行,bug笔记

    1 根据官方文档下载flutterSDK 附带dart AndroidStudio下载flutter插件 附带dart 2 然后在flutter路径的cmd命令框 或在AS新项目目录里的文件pubspec yaml界面 或在AS命令框执行f
  • 设计模式--FlyWeight--结构型

    程序员是沟通人和机器交流 意图 Intent 运用共享技术有效地支持大量细粒度的对象 设计模式 GoF 结构 structure 面向对象的代价面向对象很好地解决了系统抽象性的问题 同时在大多数情况下 也不会损及系统的性能 但是 在某些特殊
  • 微信小程序animation

    wxml
  • LINUX 查询已安装的软件信息

    问题 1 列出当前主机已安装的所有RPM软件 2 查看firefox软件包的安装清单 3 查询ifconfig命令程序是安装哪个软件包后产生的 4 查看firefox软件包的用途 方案 查询所有已安装的rpm包 可以利用命令rpm qa 查
  • CentOS 修改IP地址, DNS, 网关

    一 CentOS 修改IP地址 修改对应网卡的IP地址的配置文件 vi etc sysconfig network scripts ifcfg eth0 修改以下内容 DEVICE eth0 描述网卡对应的设备别名 例如ifcfg eth0
  • 【满分】【华为OD机试真题2023 JAVA&JS】整理扑克牌

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 整理扑克牌 知识点贪心排序 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 给定一组数字 表示扑克牌的牌面数字 忽略扑克牌的花色 请按如下规则对这一组扑克牌进行整
  • 【Linux】远程连接服务

    1 什么是远程连接服务器 远程连接服务器通过文字或图形接口方式来远程登录系统 让你在远程终端前登录linux主机以取得可操作主机接口 shell 而 登录后的操作感觉就像是坐在系统前面一样 2 远程连接服务器的功能 分享主机的运算能力 服务
  • 服务器传感器不显示,服务器传感器不显示

    服务器传感器不显示 内容精选 换一换 不建议将挂载至Linux系统云服务器的云硬盘卸载后 重新挂载至Windows系统云服务器 也不建议将Windows系统云服务器上的云硬盘重新挂载至Linux系统云服务器 在这种情况下 由于文件系统不一致
  • C++ Primer阅读笔记--函数重载和内联函数

    1 函数重载 main 函数不能重载 重载函数在形参数量或形参类型上有所不同 不允许两个函数除了返回类型外其他所有的要素都相同 即函数重载不允许只有返回类型不同 如果形参是某种类型的指针或引用 则通过区分其指向的是常量对象还是非常量对象可以