笔试强训 Day 7

news2024/11/15 6:09:47

选择题:

1.在()情况下适宜采用 inline 定义内联函数
A 函数体含有循环语句
B 函数体含有递归语句
C 函数代码少、频繁调用
D 函数代码多,不常调用

复习一下内联函数

  • 在编译阶段,会将内联函数展开 —— 将函数调用替换成函数体
  • 少了函数调用参数压栈以及建立栈帧的开销,可以提高效率
  • 注意:inline是一个建议性的关键字 —— 具体情况看编译器,由编译器决定
  • 一般是:没有循环、没有递归、函数体不长

2.在 C++ 语言中,对函数参数默认值描述正确的是()
A 函数带默认值的参数只能有一个
B 一个函数的参数若有多个,则参数默认值的设定可以不连续
C 函数参数必须设定默认值
D 在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值

  • 缺省参数:备胎的存在
  • 可以全缺省,也可以半缺省:半缺省的默认值必须从右往左依次给出
  • void f(int a, int b = 20, int c = 10) —— 编译成功

3.下面关于类定义的说法中,正确的是:
A 类定义中包括数据成员和函数成员的声明
B 类成员的缺省访问权限是保护的
C 数据成员必须被声明为私有的
D 成员函数只能在类体外进行定义 

类的两种定义:

  1. 将声明和成员函数的定义全部放在类中
  2. 类中放成员变量和成员函数的声明,成员函数的定义可以放在.cpp中,注意成员函数名前必须添加类名::

类成员的缺省访问权限是私有的(private),数据成员被声明成私有是错误的;成员函数也可以在类中定义

4.假定一个类的构造函数为A(int aa,int bb){a=aa--;b=a*bb;},则执行A x(4,5);语句后,x.a和x.b的值分别为()
A 20和5
B 3和15
C 5和4
D 4和20 

  • a=aa–;是先赋值再–,所以a还是等于4;bb是5,所以4*5 = 20

5.下列关于构造函数的描述正确的是?

A 构造函数可以声明返回类型
B 构造函数不可以用private修饰
C 构造函数必须与类名相同
D 构造函数不能带参数

复习一下:

  1. 构造函数没有返回值,必须和类名相同,且不能带参数
  2. 一般情况下,构造函数权限都是public,因此在类外创建对象时,编译器要调用构造函数(特殊情况:单例模式 —— 一个类只能创建一个对象,将构造函数设置为private)

6.有一个类A,其数据成员如下: 

class A {
...
private:
	int a;
public:
	const int b;
	float* &c;
	static const char* d;
	static double* e;
};

则构造函数中,成员变量一定要通过初始化列表来初始化的是:______。
A a b c
B b c
C b c d e
D b c d
E b
F c

  • 初始化列表位置才是真正的初始化,构造函数体中(是赋值)也会回到初始化列表
  • 初始化列表中:只对类中非静态的成员变量进行初始化(静态的是大家共有的,放在类外)
  • 必须在初始化列表中初始化的有
    1️⃣const修饰的成员变量
    2️⃣引用类型的成员变量
    3️⃣类类型对象,该类没有默认的构造函数

7.C++ 中,有如下类模板定义: 

template<class T> class BigNumber{
	long n;
public:
	BigNumber(T i) :n(i) {}
	BigNumber operator+(BigNumber b) {
	return BigNumber(n + b.n);
	}
};

已知 b1, b2 是 BigNumber 的两个对象,则下列表达式中错误的是()
A 3+3
B b1+3
C b1+b2
D 3+b1

  • 运算符重载成类的成员函数,形参个数要比该运算符需要的参数少一个
  • 因为:成员函数隐含了this指针

A:内置类型直接相加是可以的;
B:b1+3;+是对两个BigNumber的对象相加的。
如果类中具有单个参数的构造函数,该构造函数具有类型转换的作用
b1+3;编译器在编译代码节点,会调用单参构造函数将3转换成BigNumber的对象
D:第一个参数一定要是BigNumber的对象,因为是this

8.下面有关友元函数与成员函数的区别,描述错误的是?
A 友元函数可以让本类和友元类对象调用
B 友元函数和类的成员函数都可以访问类的私有成员变量或者是成员函数
C 类的成员函数是属于类的,调用的时候是通过指针this调用的
D 友元函数是有关键字friend修饰,调用的时候也是通过指针this调用的

  • 友元函数:不是类的成员函数,没有this指针,在友元函数内部可以访问类中私有的成员
  • 成员函数:具有隐藏的this,通过对象来调用

9.对于以下代码,说法正确的是()

char * p = new char[100];

A p 和 new出来的内存都在栈上
B p 和 new出来的内存都在堆上
C p在栈上 new出来的在堆上
D p在堆上 new出来的在栈上

  • new:C++中用来从动态申请空间,默认情况下,new底层调用的是 operator new ——》 malloc ,所以申请的空间在堆上
  • 指针p全局作用域中在数据段中,若在函数体中则是在栈上

10.类模板的使用实际上是类模板实例化成一个具体的__________。
A 类
B 函数
C 模板类
D 对象

这个当然是实例化成具体的类!

 

编程题:

合法括号序列判断__牛客网

 

匹配不成功

  1. 当前字符不是括号字符
  2. 括号匹配不完整
    1️⃣多出了左半边:
    2️⃣多出了右半边:

解题思路:

  • 遍历字符串,遇到左括号就入栈,遇到右括号则查看栈中是否有对应的左括号
  • 若没有,栈为空,则表示多出了右括号,匹配不完整
  • 有,出栈,匹配一个完整的括号 遍历完毕后如果栈不为空,则是多出了左括号在这里插入图片描述

 

class Parenthesis {
public:
    bool chkParenthesis(string A, int n) {
        // write code here
        stack<char> sc;
        for(auto e:A)
        {
            switch(e)
            {
                case '(': 
…                return false;
            }

        }

        return sc.empty();//栈为空则为真,反正为假

    }
};

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

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

相关文章

四、若依(前后端分离)项目构建docker 镜像

若依(前后端分离&#xff09;项目构建docker 镜像 1. 构建好ruoyi-admin.jar包&#xff0c;上传到服务器项目目录下 2. 创建conf目录将若依项目&#xff08;Spring boot &#xff09;配置文件修改好&#xff0c;上传存入conf目录 注意&#xff1a;这里的地址不能写127.0.0.1和…

ur5在gazebo中仿真的官方源码浅析

一 复现 好久之前初学rosgazebo机械臂仿真的时候总有些懵&#xff0c;用的是ur5机械臂&#xff0c;现在回过头来看好像看懂了一些&#xff0c;故重新理清了一下功能包的逻辑&#xff0c;方便查阅。 官方源码 本文参考 ubuntu16.04安装UR3/UR5/UR10机械臂的ROS驱动并实现gazebo…

chatgpt赋能python:Python列表从后往前遍历

Python列表从后往前遍历 作为一门广泛应用于数据科学、机器学习和Web开发的高级编程语言&#xff0c;Python为开发人员和科学家们提供了很多便利。在Python里面&#xff0c;列表是一种非常常见的数据结构&#xff0c;它允许开发人员存储和处理多个元素。但是&#xff0c;有时候…

5款提高工作效率的无广告软件

今天推荐一些可以大幅度提升办公效率的小软件&#xff0c;安全无毒&#xff0c;下载简单&#xff0c;最重要的是没有广告&#xff01; 1.照片处理——Darktable Darktable是一款用于处理和管理数码照片的工具。它可以让你对RAW格式的照片进行非破坏性的编辑,并提供多种模块和…

Nginx 启动成功无法访问网页

查看是否有Nginx进程 ps -ef | grep nginx 如下图有三个进程就是启动成功了 端口 因为Nginx我配置的是80端口&#xff0c;所以只要检查80端口是否开放即可 netstat -lnt | grep 80tcp: 这表示所显示的连接是基于TCP协议的。0.0.0.0:80: 这是本地监听的IP地址和端口号。在这…

Zabbix5通过脚本自定义Nginx监控

1、客户端配置 1.1、nginx开启nginx status 使用 zabbix 监控 nginx&#xff0c;首先 nginx 需要配置 ngx_status&#xff0c;nginx.conf加入以下配置&#xff0c;并重启Nginx或reload location /ngx_status { stub_status on; access_log off; #allow 127.0.0.1; #deny all…

C语言---初识结构体

1、结构体的声明 1.1、结构的基础知识 结构是一些值得集合&#xff0c;这些值称为成员变量。结构的每一个成员可以是不同类型的变量。 char、short、int、long、long、float、double是内置类型。 比如说&#xff0c;我们想要描述单一的成绩&#xff0c;身高我们直接用int类型就…

FPGA时序约束--基础理论篇

FPGA开发过程中&#xff0c;离不开时序约束&#xff0c;那么时序约束是什么&#xff1f;简单点说&#xff0c;FPGA芯片中的逻辑电路&#xff0c;从输入到输出所需要的时间&#xff0c;这个时间必须在设定的时钟周期内完成&#xff0c;更详细一点&#xff0c;即需要满足建立和保…

MokaPeople 上线 300 天:主打管理者视角和全员体验

当前&#xff0c;我们是身处的时代已从 VUCA 向 BANI 转变&#xff0c;在政策、经济和技术等多方面因素的驱动下&#xff0c;数字化转型已成为企业发展的必然趋势。 尤其在当下对于人才环境中的竞争态势也不得不迫使 HR 转型也进入了关键性的时刻。 6 月 2 日&#xff0c;国内…

TCP协议的相关特性

目录 TCP特点概要 TCP协议段格式 TCP原理 确认应答 超时重传 连接管理(三次握手,四次挥手) 三次握手 四次挥手 流水线传输 滑动窗口 滑动窗口ACK丢失 滑动窗口数据报丢失 流量控制 拥塞控制 延迟应答 停止等待协议 回退N帧协议 面向字节流 缓冲区 粘包问题 TCP异常 &…

手撕源码(三)ArrayList(JDK8)

目录 1.使用示例2.new ArrayList<>() 解析2.1 空列表2.2 默认大小的共享数组实例2.3 构造方法 3.new ArrayList<>(initialCapacity) 解析3.1 指定大小的共享数组实例3.2 构造方法 4.add() 解析4.1 容量大小4.2 add() 解析4.3 ensureCapacityInternal() 解析1&#…

【吴恩达GANs】【C1W4】Conditional Controllabel Generation

视频链接&#xff1a;吴恩达DeepLearning.ai之生成对抗网络&#xff08;GANS&#xff09;专业化〔Andrew Ng〕 4-2 Conditional generation intuition Unconditional Generation&#xff1a;从随机类中得到输出&#xff0c;每次输出的类也都是随机的&#xff0c;无法得到指定…

Redis和Mysql数据同步方案---延迟双删

一般场景下数据库和redis的同步机制&#xff1a; 针对有请求来读取数据库的场景&#xff1a; 但是如果有想要修改数据库内容的场景该怎么保持同步呢&#xff1f; 在我们访问redis时&#xff0c;redis中的数据可能不是热点数据&#xff0c;即此时数据库的更新操作已经完成&…

chatgpt赋能python:Python几行代码:打造高效SEO工具

Python几行代码&#xff1a;打造高效SEO工具 Python作为一种易用、可靠的编程语言&#xff0c;在数据处理、网页爬取等方面都有广泛应用。而对于SEO工作者来说&#xff0c;利用Python写几行简单的代码&#xff0c;可以帮助我们更高效地分析网站数据、监控关键词排名、抓取竞争…

测试工程师:“ 这锅我不背 ” ,如何回怼开发....?

前言 在一个周末的早餐我被同事小周叫出去跑步&#xff0c;本想睡个懒觉&#xff0c;但是看他情绪不太稳定的样子&#xff0c;无奈艰难爬起陪他去跑步。 只见她气冲冲的对着河边大喊&#xff1a;真是冤枉啊&#xff01;!&#xff01; 原来是在工作中被莫名其妙背锅&#xff0…

计算机存储体系

目录 一、基本概念 二、主存储器的基本组成 三、SRAM和DRAM 四、只读存储器ROM 五、主存储器与CPU的连接 六、双端口RAM和多模块存储器 七、磁盘存储器 八、固态硬盘SSD 九、Cache高速缓冲存储器 十、虚拟存储系统 一、基本概念 存储器的层次结构 主存——辅存&…

1_5 光流法计算VO(optical_flow)

采用特征点法做VO存在耗时较大的问题&#xff0c;一般耗时情况&#xff1a;如下 (1) 在图像中提取特征点并计算特征描述&#xff0c; 非常耗时 ~10ms ORB&#xff0c;shift耗时更多&#xff1b; (2) 在不同图像中寻找特征匹配&#xff0c; 非常耗时 …

centos上搭建以太坊私有链

第一步 安装go语言环境 root用户下新建一个soft目录(相关目录可以随意) 去golang官网找到链接&#xff0c;在soft目录下下载golang压缩包 wget --no-check-certificate https://go.dev/dl/go1.20.4.linux-amd64.tar.gz其中如果出现Unable to establish SSL connection.&am…

Redis持久化、主从与哨兵架构-02

RDB快照&#xff08;snapshot&#xff09; 在默认情况下&#xff0c; Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。 你可以对 Redis 进行设置&#xff0c; 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时&#xff0c; 自动保存一次 数据集…

QLoRA | 48G内存训练24小时,改进版4-bit量化技术微调650亿参数的模型达到chatgpt99.3%的效果

一、概述 title&#xff1a;QLORA: Efficient Finetuning of Quantized LLMs 论文地址&#xff1a;https://arxiv.org/pdf/2305.14314.pdf 代码&#xff1a;GitHub - artidoro/qlora: QLoRA: Efficient Finetuning of Quantized LLMs and https://github.com/TimDettmers/bi…