Cxx Primer-chap6

news2024/9/23 6:31:35
  1. 什么是函数:A function is a block of code with a name.在这里插入图片描述
  2. 函数调用和返回:在这里插入图片描述,实例:在这里插入图片描述
  3. 名字有作用域(visible),对象有生命周期(exist):
    在这里插入图片描述,lifetime取决于object在哪定义和如何定义:在这里插入图片描述
  4. 区分default initialized和value initialized:在这里插入图片描述,简单讲:在这里插入图片描述而value initialization主要用于初始化容器中的元素的:在这里插入图片描述
  5. 函数声明=函数签名=函数原型,其应该放在头文件:在这里插入图片描述
  6. call by reference 和 call by value:在这里插入图片描述,似乎call by pointer应该单拎出来,但是它就是call by value,因为它满足When the argument value is copied, the parameter and argument are independent objects.,只不过能间接访问指向的对象而已:在这里插入图片描述
  7. 使用call by reference能够防止argument拷贝给parameters的开销:在这里插入图片描述
  8. low-level const不可被省略,而top-level const可以被省略:在这里插入图片描述
  9. 对于reference to const 的参数能用则用:在这里插入图片描述
  10. 当函数参数为数组时,需要注意的点:在这里插入图片描述,数组无法被拷贝,同时当其作为实参时,数组名等于指向第一个元素的指针。所以我们不知道数组的下标范围,这需要我们提供额外的信息:第一种方案:类似于字符串存储于字符数组那样,使用结束标记。第二种方案:使用library提供的begin()end()方法确定数组边界。第三种方案使用额外的数组大小作为参数。
  11. 变长参数列表的函数:在这里插入图片描述,其中第一种方法是initializer_list Parameters在这里插入图片描述
  12. 不要使用返回局部对象的引用或指针,因为局部对象的lifetime在函数返回时结束:在这里插入图片描述
  13. 定义一个返回数组的函数:在这里插入图片描述
  14. 花哨的函数声明方式:在这里插入图片描述
  15. 函数重载与const参数:在这里插入图片描述
  16. 函数匹配(重载函数解析):在这里插入图片描述
  17. default arguments的使用,为了使用这种特性,我们需要保证很少用默认参数的parameters放在前面:在这里插入图片描述
  18. 声明一个函数为inline时,机器可能会将其在编译时展开成表达式,从而减少函数调用时的运行开销:在这里插入图片描述
  19. constexpr关键字:在这里插入图片描述,有些抽象:在这里插入图片描述
  20. assert是先于编译器处理的预处理器macro,它受预处理器变量NDEBUG`的影响:在这里插入图片描述
  21. 函数匹配过程中涉及的候选函数和可行函数:在这里插入图片描述,尽可能的进行最佳匹配:在这里插入图片描述
  22. 指向函数的指针:在这里插入图片描述,函数指针的使用:在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1942888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法题目整合4

文章目录 122. 大数减法123. 滑动窗口最大值117. 软件构建124. 小红的数组构造125. 精华帖子126. 连续子数组最大和 122. 大数减法 题目描述 以字符串的形式读入两个数字,编写一个函数计算它们的差,以字符串形式返回。输入描述 输入两个数字&#xff…

FPGA DNA 获取 DNA_PORT

FPGA DNA DNA 是 FPGA 芯片的唯一标识, FPGA 都有一个独特的 ID ,也就是 Device DNA ,这个 ID 相当于我们的身份证,在 FPGA 芯片生产的时候就已经固定在芯片的 eFuse 寄存器中,具有不可修改的属性。在 xilinx 7series…

Adobe国际认证详解-职业发展规划指南

Adobe国际认证,又称为Adobe Certified Professional(简称ACP),是Adobe公司CEO签发的权威国际认证体系。这一认证体系基于Adobe核心技术及岗位实际应用操作能力的测评,旨在为用户提供创意软件的专业认证。 Adobe国际认证…

win11 安装 Gradle以及通过Gradle 编译Spring boot 2.7.x源码

一、win11 安装Gradle(7.5.1): 1.1、下载二进制包 Gradle下载页面 1.2、配置环境变量 变量名:GRADLE_HOME 变量值(二进制包解压路径):D:\develop-tool\gradle-7.5.1 变量名:GRADLE_USER_HOME 变量值&a…

知识表示 | 利用 Protégé 软件构建小型本体

Hi,大家好,我是半亩花海。本项目旨在利用 Protg 软件构建小型本体,探索本体建模的实际应用,特别是应用本体与上层本体之间的关系继承与映射。我们将重点理解应用本体如何继承上层本体的关系,以及如何通过推理机制揭示实…

线性dp.

线性dp,在进行动态规划中,常以线性的形式表现出来。 我们仍用闫氏dp法来进行求解即可 一、状态表示:当前的状态所代表的含义以及能用几维的形式表现出来。包括①集合,②属性 二、状态计算:如何一步一步的将状态计算出…

Hostspot2.0网络是什么?

Hotspot 2.0是一种无线网络技术标准,它是由Wi-Fi联盟推出的,旨在改善公共Wi-Fi热点的用户体验,简化连接流程,提升安全性,并提供更好的漫游体验。Hotspot 2.0也被称为Passpoint(Passpoint Release 2&#xf…

Go基础编程 - 12 -流程控制

流程控制 1. 条件语句1.1. if...else 语句1.2. switch 语句1.3. select 语句1.3.1. select 语句的通信表达式1.3.2. select 的基特性1.3.3. select 的实现原理1.3.4. 经典用法1.3.4.1 超时控制1.3.4.2 多任务并发控制1.3.4.3 监听多通道消息1.3.4.4 default 实现非堵塞读写 2. …

【全网首发】小红书最新引流法:轻松留联系方式卡片,直接上演无举报窗口

大家好!我是闷声轻创!根据最新消息小红书卡片可能会被禁止掉,这对我们的引流矩阵有真不小的冲击,毕竟小红书作为国内领​先的年轻人的生活分享社区,但上有政策下有对策,我今天发现了一个新的留V的方法&…

七天打造一套量化交易系统:Day2-量化交易策略基本模型及要点

七天打造一套量化交易系统:Day2-量化交易策略基本模型及要点 前期回顾趋势型策略模型原理收益分布重点:什么因素能改进策略(截断亏损,让利润奔跑)要点总结 均值回复型策略模型原理收益分布重点:避免大额亏损…

去掉roscore的python依赖概述

去掉roscore的python依赖概述 文章目录 去掉roscore的python依赖概述roscore有哪些功能思路关于rosmaster本身及其API的介绍 需要实现的核心API代码实现附录(网图) roscore有哪些功能 启动一个rosmaster节点 调用roslaunch在子进程中(popen)启动rosmast…

浪潮自研交换机系列常见问题处理

CN61108PC-V-H 不能PING通任何地址,也不能被PING 输入ip traceroute enable既可。注意视图 交换机通过console口远程登录至其他交换机,掉线后console口无法使用 例如有2台交换机A和B,在A交换机上插上console线登录后,在A通过SSH…

【入门教程一】基于DE2-115的My First FPGA 工程

1.1. 概述 这是一个简单的练习, 可以帮助初学者开始了解如何使用Intel Quartus 软件进行 FPGA 开发。 在本章节中,您将学习如何编译 Verilog 代码,进行引脚分配,创建时序约束,然后对 FPGA 进行编程,驱动开…

数据结构:二叉搜索树(简单C++代码实现)

目录 前言 1. 二叉搜索树的概念 2. 二叉搜索树的实现 2.1 二叉树的结构 2.2 二叉树查找 2.3 二叉树的插入和中序遍历 2.4 二叉树的删除 3. 二叉搜索树的应用 3.1 KV模型实现 3.2 应用 4. 二叉搜索树分析 总结 前言 本文将深入探讨二叉搜索树这一重要的数据结构。二…

【Vite】快速入门及其配置

概述 Vite是前端构建工具。vite 相较于webpack,vite采用了不同的运行方式: 开发时,并不对代码打包,而是直接采用ESM的方式来运行项目在项目打包部署时,使用 rollup 对项目进行打包除了速度外,vite使用起来也更加方便…

FPGA-ROM IP核的使用

1.理论 ROM全称:Read-Only Memory,也就是只读型固态半导体存储器,即一旦存储信息,无法再改变,信息也不会因为电源关闭消失。但在FPGA中,实际使用的ROM IP核并不是真正的ROM,其实都是内部的RAM资…

关于企业开展数据资产入表新模式

随着数字化转型持续推进,数据的资产化已成为数字时代不可逆转的趋势。企业数据资产入表已进入倒计时,企业是否科学高效地管理与评估数据,影响着企业是否能够意识到数据应作为资产存在,是否将数据纳入财务报表,并利用数…

【YOLOv5/v7改进系列】引入CoordConv——坐标卷积

一、导言 与标准卷积层相比,CoordConv 的主要区别在于它显式地考虑了位置信息。在标准卷积中,卷积核在输入上滑动时,仅关注局部区域的像素强度,而忽略其绝对位置。CoordConv 通过在输入特征图中添加坐标信息,使得卷积…

探索PyPDF2:Python中的PDF处理大师

探索PyPDF2:Python中的PDF处理大师 1. 背景介绍 在数字化时代,PDF文件因其跨平台的兼容性和内容的稳定性而广受欢迎。然而,处理PDF文件,如合并、分割、提取文本等,往往需要专门的工具。这就是PyPDF2库的用武之地。PyP…

Git报错fatal: detected dubious ownership in repository

报错信息 fatal: detected dubious ownership in repository at 解决办法 一行代码解决 git config --global --add safe.directory "*";如何使用git工具初始胡项目并且和远程仓库建立联系 git init–建立一个本地仓库 git add README.md–将README.md文件加入…