C++笔试强训7

文章目录

  • 一、选择题
    • 1-5题
    • 6-10题
  • 二、编程题
    • 题目一
    • 题目二


一、选择题

1-5题

在这里插入图片描述
基础知识,函数代码少,频繁调用的时候才适合定义内联函数。
故选C。

在C++中,inline关键字是用来向编译器建议将函数体在每个调用点“内联展开”的。这意味着编译器会尝试将函数的代码直接插入到每个调用该函数的地方,而不是像通常那样进行函数调用(即,生成调用指令,跳转到函数代码,执行函数体,然后返回)。内联函数可以减少函数调用的开销,尤其是对于那些体积小、调用频繁的函数来说非常有用。然而,是否真正内联一个函数是由编译器决定的,编译器会基于多种因素(如函数体大小、优化级别、是否有递归调用等)来决定是否进行内联。

以下是一些适合使用inline定义内联函数的场景:

  1. 小型函数:函数体很小,只有几行代码。这些函数通常执行简单的操作,如计算或访问数据成员。

  2. 频繁调用的函数:如果函数在程序中频繁被调用,那么内联这些函数可以减少调用开销,提高程序的执行效率。

  3. 模板函数:模板函数通常因为模板实例化而产生大量的函数副本,这些副本往往很小且相似。将它们声明为内联可以减少代码膨胀。

  4. 不会引起副作用的函数:内联函数应该避免修改全局变量或执行其他会影响程序状态的操作,因为内联展开可能会使这些副作用在多个地方发生,导致程序行为难以预测。

  5. 类的成员函数:尤其是访问器(getter)和修改器(setter)函数,这些函数通常很简短,并且频繁被调用。将它们定义为内联可以提高效率。


在这里插入图片描述
函数参数默认值又叫缺省参数,缺省参数必须从右向左开始缺省,必须连续给定缺省值,也就是说,从左到右,一旦遇到一个参数是缺省的,那么之后的参数也必须都是缺省的。
函数参数不是必须设定默认值,可设可不设。

故选D


在这里插入图片描述

类成员的缺省访问权限是私有的private,B错;
数据成员不是必须声明为私有的,C错;
成员函数类内类外定义都行,D错;
故选A


在这里插入图片描述
aa是4,bb是5,a=aa–后,a是4,aa是3,b=abb后b=45=20
故a是4b是20
故选D


在这里插入图片描述
构造函数没有返回类型,构造函数函数名必须和类名相同,构造函数可以带参数,带参数的和不带的可以构成函数重载。
构造函数可以用private修饰
故选C


6-10题

在这里插入图片描述
const修饰的变量和引用类型必须利用初始化列表赋值,static const可以在类外初始化。故选B。

初始化列表位置才是真正的初始化,构造函数体中只是赋值
初始化列表中:只能对类中非静态的成员变量来进行初始化

那些成员必须在初始化列表的位置初始化:
1.const修饰的成员变量
2.引用类型的成员变量
3.类类型对象,该类没有默认的构造函数


在这里插入图片描述
如果将运算符符重载成类的成员函数,形参个数要比该运算符需要的参数个数少1
因为:成员函数具有隐藏的this指针

B选项 如果类中具有单个参数的构造函数,该构造函数具有类型转换的作用,可以用explicit来禁止这种隐式类型转换。
b1 + 3 编译器在编译代码节点,会调用单参构造函数将3转换为BigNumber的对象

C选项,没啥问题,符合重载的作用

D,因为+是双目运算符,所以重载+时第一个参数是隐藏的this指针,所以+左边必须是一个对象,D错。

故选D。


在这里插入图片描述
描述错误的是 D:友元函数是有关键字friend修饰,调用的时候也是通过指针this调用的。

解析:

A. 正确。友元函数是定义在类外部,但在类内部通过friend关键字声明,因此它可以被本类和友元类(或函数)的对象调用。

B. 正确。友元函数和类的成员函数都可以访问类的私有成员变量或成员函数。友元函数通过friend声明获得对类私有成员的访问权限,而成员函数则自然地拥有这种权限。

C. 正确。类的成员函数是属于类的,它们通过隐含的this指针来访问类的成员变量和成员函数。这个this指针指向调用成员函数的对象。

D. 错误。友元函数虽然通过friend关键字声明,但它不是类的成员函数,因此它不能通过this指针来调用。友元函数是在类外部定义的普通函数,它只能通过传入的参数(如果有的话)来访问类的成员,或者通过类的对象显式地访问(如果该函数设计为接受类的对象作为参数)。this指针是类成员函数特有的,用于指向调用该函数的对象。友元函数并不具备这种特性。


在这里插入图片描述
p是指针变量,在栈上,p指向的内存即new出来的在堆上,故选C。

对这块不太清楚的可以点下面的超链接去看看我的另一篇文章。
内存管理


在这里插入图片描述
选A。


二、编程题

题目一

题目链接:

Fibonacci数列
在这里插入图片描述

提交代码:

#include <iostream>
using namespace std;int main() {int num;cin >> num;int f1 = 0, f2 = 1;while (true) {if (num < f2) {break;}int tmp = 0;tmp = f2;f2 = f1 + f2;f1 = tmp;}cout << min(f2 - num, num - f1);
}
// 64 位输出请用 printf("%lld")

运行结果:
在这里插入图片描述


题目二

题目链接:

合法括号序列判断
在这里插入图片描述

提交代码:

class Parenthesis {public:bool chkParenthesis(string A, int n) {stack<char> s;for (int i = 0; i < n; i++) {if (A[i] == '(') {s.push(A[i]);} else if (A[i] == ')' && !s.empty()) {s.pop();} else return false;}return s.empty();}
};

运行结果:
在这里插入图片描述


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

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

相关文章

前端表格解析方法

工具类文件 // fileUtils.tsimport { ref } from vue; import * as xlsx from xlsx;interface RowData {[key: string]: any; }export const tableData ref<RowData[]>([]);export async function handleFileSelect(url: string): Promise<void> {try {const res…

《无线互联科技》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《无线互联科技》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊。 问&#xff1a;《无线互联科技》级别&#xff1f; 答&#xff1a;国家级。主管单位&#xff1a;江苏省科学技术厅 主办单位&#xff1a…

浅谈断言之MD5Hex断言

浅谈断言之MD5Hex断言 “MD5Hex断言”是一种特殊类型的断言&#xff0c;主要用于验证返回数据的完整性和一致性。本文将详细介绍MD5Hex断言的用途、配置方法及应用场景。 MD5Hex断言概述 MD5Hex断言基于MD5&#xff08;Message-Digest Algorithm 5&#xff09;算法&#xff…

Nexus3 批量上传 jar 包、pom文件

Nexus3 Maven 私服搭建及各种使用 详见**Maven私服搭建及各种使用汇总2020** Maven 配置 Nexus 私服 在 Maven 项目中配置 Nexus 私服&#xff0c;需要在项目的 pom.xml 或 maven 的 settings.xml 文件中添加 Nexus 仓库的配置。 示例&#xff1a; 以下是一个项目的 pom.xml…

JDK8升级到JDK17,报错Error:java:错误:不支持的发行版本5

1 问题描述&#xff1a; 我原来用到是JDK8,后来重新安装了JDK17后&#xff0c;并更换了JAVA_HOME的配置&#xff0c;在CDM上面查看JAVA版本确认安装无误。 当我打开IDEA运行代码时&#xff0c;就报错java&#xff1a;错误&#xff1a;不支持的发行版本5&#xff0c;至始至终我都…

UM980的天线馈电设计

UM980 不支持内部天线馈电&#xff0c;需要从模块外部给天线馈电&#xff0c;建议尽量选择高耐压、大功率的器件&#xff1b; 还可以在馈电电路上增加气体放电管、压敏电阻、 TVS 管等大功率的防护器件&#xff0c;可有效提高防雷击与防浪涌的能力。 如果 ANT_BIAS 天线馈电和模…

python3.10.4——CentOS7安装步骤

目录 1.CentOS7中默认有python2.7.5 2.安装前置依赖程序 3.在python官网下载linux系统安装包 4.解析、编译安装python3.10.4 5.创建软链接 6.修改yum相关配置 7.重新检查python版本号 1.CentOS7中默认有python2.7.5 2.安装前置依赖程序 yum install wget zlib-devel bz…

NVIDIA Container Toolkit 安装与配置帮助文档(Ubuntu,Docker)

NVIDIA Container Toolkit 安装与配置帮助文档(Ubuntu,Docker) 本文档详细介绍了在 Ubuntu Server 22.04 上使用 Docker 安装和配置 NVIDIA Container Toolkit 的过程。 概述 NVIDIA 容器工具包使用户能够构建和运行 GPU 加速容器。即可以在容器中使用NVIDIA显卡。 架构图如…

Qt开发网络嗅探器03

数据包分析 想要知道如何解析IP数据包&#xff0c;就要知道不同的IP数据包的包头结构&#xff0c;于是我们上⽹查查资料&#xff1a; 以太网数据包 ARP数据包 IPv4 IPv6 TCP UDP ICMP ICMPv6 根据以上数据包头结构&#xff0c;我们就有了我们的protocol.h文件&#xff0c;声明…

【云原生】Kubernetes中的DaemonSet介绍、原理、用法及实战应用案例分析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

【LeetCode】填充每个节点的下一个右侧节点指针 II

目录 一、题目二、解法完整代码 一、题目 给定一个二叉树&#xff1a; struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点&#xff0c;则将 next 指针设置为 NUL…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(十)-无人机A2X服务

引言 3GPP TS 23.256 技术规范&#xff0c;主要定义了3GPP系统对无人机&#xff08;UAV&#xff09;的连接性、身份识别、跟踪及A2X&#xff08;Aircraft-to-Everything&#xff09;服务的支持。 3GPP TS 23.256 技术规范&#xff1a; 【免费】3GPPTS23.256技术报告-无人机系…

Mindspore框架循环神经网络RNN模型实现情感分类|(二)RNN模型构建

Mindspore框架循环神经网络RNN模型实现情感分类 Mindspore框架循环神经网络RNN模型实现情感分类|&#xff08;一&#xff09;IMDB影评数据集准备 Mindspore框架循环神经网络RNN模型实现情感分类|&#xff08;二&#xff09;RNN模型构建 Mindspore框架循环神经网络RNN模型实现情…

实测!高性能PCIe 5.0 SSD为AI训练贡献了啥?

如今&#xff0c;AI 的火热程度已经不需要解释。算力、算法、数据&#xff0c;构成驱动 AI 技术快速发展的三驾马车&#xff1a; 算力越强&#xff0c;越能够处理更加复杂的训练模型&#xff0c;并加速训练进程&#xff1b;算法越先进&#xff0c;越能高效的从数据中学习并优化…

element-plus的el-table自定义表头筛选查询

文章目录 一、效果二、代码1.代码可直接复制使用 三、问题1.使用el-popover完成筛选框 一、效果 二、代码 1.代码可直接复制使用 <template><div class"page-view" click"handleClickOutside"><el-button click"resetFilters"&…

云服务器2核2G配置可以干嘛?2C2G用来做什么合适?

最便宜的服务器2核2G配置可以做什么&#xff1f;可用来搭建Web网站服务器、小程序服务器、APP后端服务器、图床、开发测试环境、小型电子商务网站及文件存储等使用场景。服务器百科网fwqbk.com举例说明&#xff1a; 搭建个人博客&#xff1a;使用开源WordPress等博客程序系统&…

git使用、git与idea结合、gitee、gitlab

本文章基于黑马程序javase模块中的"git"部分 先言:git在集成idea中,不同版本的idea中页面显示不同,操作时更注重基于选项的文字;git基于命令操作参考文档实现即可,idea工具继承使用重点掌握 1.git概述 git是目前世界上最先进的分布式文件版本控制系统 分布式:将…

照片怎么改大小kb?分享5个改小图片的工具

夏日炎炎&#xff0c;正是出游拍照的大好时节&#xff0c;然而随之而来的问题也让人头疼——手机里的美照越来越多&#xff0c;存储空间却越来越紧张。 不仅如此&#xff0c;上传至社交媒体时&#xff0c;大尺寸的照片常常让加载速度慢如蜗牛&#xff0c;影响了分享的乐趣。 …

[Spring Boot]Protobuf解析MQTT消息体

简述 本文主要针对在MQTT场景下&#xff0c;使用Protobuf协议解析MQTT的消息体 Protobuf下载 官方下载 https://github.com/protocolbuffers/protobuf/releases网盘下载 链接&#xff1a;https://pan.baidu.com/s/1Uz7CZuOSwa8VCDl-6r2xzw?pwdanan 提取码&#xff1a;an…

【毕业论文】| 基于Unity3D引擎的冒险游戏的设计与实现

&#x1f4e2;博客主页&#xff1a;肩匣与橘 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由肩匣与橘编写&#xff0c;首发于CSDN&#x1f649; &#x1f4e2;生活依旧是美好而又温柔的&#xff0c;你也…