C++每日选择题—Day1
第一题
以下C++代码会输出什么?
#include <iostream>
using namespace std;
class A
{
public:A() {}~A() {}
private:static int a;
};
int main() {cout << sizeof(A) << endl;return 0;
}
A:0
B:1
C:4
D:8
答案及解析 B
首先,成员函数不存在于实例化对象 中,其次static定义的静态成员变量不属于任何一个对象,是属于整个类的,也不存在实例化对象中。所以这个类其实啥都没有,记住,什么都没有存的类是默认一个字节的,所以选择B
相关博客:C/C++内存对齐规则(结构体、联合体、类)-CSDN博客
第二题
不考虑任何编译器优化(如:NRVO),下述代码第10行会发生()
#include <stdio.h>
class B
{};
B func(const B& rhs)
{return rhs;
}
int main()
{B b1, b2;b2 = func(b1); //10
}
A:一次默认构造函数,一次拷贝构造函数,一次析构函数,一次(拷贝赋值运算符)operator=
B:二次拷贝构造函数,一次析构函数
C:一次(拷贝赋值运算符)operator=,一次析构函数
D:一次拷贝构造函数,一次析构函数,一次(拷贝赋值运算符)operator=
答案及解析 D
注意说的是第十行,所以不用考虑B b1,b2;
而第十行,首先是调用函数func,由于是引用传参,不需要拷贝构造,但是在返回值这里需要拷贝一个临时变量tmp,用临时变量tmp来返回,所以b2 = tmp;所以这里就是调用的赋值运算符重载函数,然后tmp调用析构函数,因为这个临时变量他tmp完成它的任务来,就会被销毁;
第三题
3. 在32位系统中,关于下面程序说法正确的是()
class Item
{
private:char *desc;int storage;
public:Item()
{desc = new char[51];}void setInfo(char *dsrc, int num)
{strcpy(desc,dsrc); storage = num;}
};int main()
{Item stock; stock.setInfo("pen",20);return 0;
}
A:main函数定义了一个stock对象占8个字节
B:storage和desc成员各占4个字节
C:存在内存泄漏的问题
D:存在编译错误
答案及解析 ABC
A:stock是Item这个类的实例化对象,占了8个字节,指针在32位机器上是4字节,int是4字节,通过内存对齐,为8字节; 不懂的可以看这篇博客: C/C++内存对齐规则(结构体、联合体、类)-CSDN博客BB
B:正确,int类型4字节,32位的指针类型为4字节
C:存在内存泄漏,因为我们在构造函数这里开辟了空间,没有释放
D:不存在编译错误
第四题
4. 对静态成员的正确描述是()?
A:静态数据成员要在类外定义和初始化
B:非静态成员函数也可以操作静态数据成员
C:全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区
D:调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针
答案及解析 B C
A:静态成员变量,在类里面声明,在类外面定义;
B:因为静态成员变量,是属于整个类的,所以并不需要this指针,非静态成员函数可以不使用this指针直接用静态成员变量;
C:全局变量,静态变量存在静态区,局部变量存在栈;
D:静态成员函数是没有this指针的,因为也是属于整个类的;
第五题
5. 以下程序打印的两个字符分别是()
#include<stdio.h>
#include<iostream>
using namespace std;
struct object
{char data[3];
};int main()
{object obj_array[3] = {{'a', 'b', 'c'}, {'d', 'e', 'f'}, {'g', 'h', 'i'}};object *cur = obj_array;printf("%c %c\n", *(char *)((char *)(cur) + 2), *(char *)(cur + 2));return 0;
}
A:c g
B:b d
C:g g
D:g c
答案及解析 A
本题是考查对指针的加整数的考查;
obj_array[3] 这个是存放的字符串的结构体数组,数组每个元素都是字符串;
我们用cur指针指向这个结构体数组的首元素;
我们(char*)cur 是强制类型转换成char类型,目的就是在+2的时候,移动的是两个字节;
所以移动到c位置,(char*) 再强制类型转换一下,是为了解引用的时候取的也是一个char类型,所以就是c,下一个同理;
用图表示:

相关文章:
C++每日选择题—Day1
第一题 以下C代码会输出什么? #include <iostream> using namespace std; class A { public:A() {}~A() {} private:static int a; }; int main() {cout << sizeof(A) << endl;return 0; } A:0 B:1 C:4 D:8 答…...
【实用】mysql配置 及将线上数据导入本地 问题解决及记录
[ERR] 1292 - Incorrect datetime value: ‘0000-00-0000:00:00‘ for column ‘BIRTH_DATE‘ at row 1 此问题是mysql当前配置不支持日期为空,或者为‘0000-00-0000:00:00‘得情况 1、直接在数据库执行 # 修改全局 set global.sql_mode ONLY_FULL_GROUP_BY,STR…...
如何下载OpenJDK及其源码
如果想下载 OpenJDK,存在以下几种办法: 最简单的办法是去 OpenJDK 官网,这里能下载 JDK9 及其以上的版本,还有 JDK 源码所在的 github 地址。 第二种方法是使用 IDEA 下载,位置在 File->Project Structure->SD…...
[Android]使用Retrofit进行网络请求
以下是使用 Retrofit 发送 POST 请求获取分页城市列表的 Kotlin 代码示例 1.在你的 build.gradle 文件中添加 Retrofit 和 Gson 的依赖 dependencies {......implementation("com.squareup.retrofit2:retrofit:2.9.0")implementation("com.squareup.retrofit2…...
OpenGL 绘制圆形平面(Qt)
文章目录 一、简介二、代码实现三、实现效果一、简介 这里使用一种简单的思路来生成一个圆形平面: 首先,我们需要生成一个单位圆,半径为1,法向量为(0, 0, 1),这一步我们可以使用一些函数生成圆形点集。之后,指定面片的索引生成一个圆形平面。当然这里为了后续管理起来方便…...
JAVA系列---Servlet详解
目录 背景为何会出现ServletWeb开发的本质 ServletsCGIFastCGIWSGIServlet总结 wsgi与servlet出现时间社区特点对web开发的影响 servlet详解特性主要工作执行逻辑 应用Tomcat背景embedded tomcat本质 背景 为何会出现Servlet Servlet是Server Applet 的缩写,译为“…...
机器人制作开源方案 | 钻孔植树一体化沙漠车
作者:徐邦国、张博宇、刘露、李晶晶、吕洁秀单位:天津职业技术师范大学 机械工程学院指导老师:何永利 摘要:本项目旨在设计一种专用于沙漠植树的植树车,以沙漠自动化植树为研究对象,提出一种创新式钻…...
OmniGraffle
安装 在mac上安装OmniGraffle,找一个正版或者啥的都行,安装好后,可以直接在网上找一个激活码,然后找到软件的许可证,进行添加即可。 使用 新建空白页 然后图形啥的看一眼工具栏就知道了,颜色形状还是挺…...
【C++上层应用】4. 多线程
文章目录 【 1. 创建线程 】【 2. 终止线程 】【 3. 实例 】【 4. 向线程传递参数 】【 5. 连接和分离线程 】 多线程 是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于…...
【uni-app】uniapp中弹出输入框的示例
uni.showModal({title: 请输入企业名称,content: ,editable: true, //是否显示输入框placeholderText: 请输入企业名称, //输入框提示内容confirmText: 确认,cancelText: 取消,success: (res) > {if (res.confirm) {this.checkDesc.name res.content;// console.log(输入的…...
通过bat脚本控制Oracle服务启动停止
1、将Oracle服务全部设置为手动启动 初始安装Oracle之后服务启动状态: 2、服务功能介绍 3、构建服务启动/停止bat脚本 注意:编码选择ANSI(如果编码不是ANSI运行脚本会显示乱码) echo off :main cls echo 注:请保证该脚本是使用管理员权限…...
GB28181学习(十七)——基于jrtplib实现tcp被动和主动发流
前言 GB/T28181-2022实时流的传输方式介绍:https://blog.csdn.net/www_dong/article/details/134255185 基于jrtplib实现tcp被动和主动收流介绍:https://blog.csdn.net/www_dong/article/details/134451387 本文主要介绍下级平台或设备发流功能&#…...
RealSense深度相机在Ubuntu18.04的ros环境下,保存同一时刻下深度图像和彩色图像
背景:Ubuntu18.04 ROS Melodic 已安装配置好RealSense相关程序,链接D435i相机后,得到如下Rostopic: /camera/color/image_raw # 彩色图像信息 /camera/depth/image_rect_raw # 深度图像信息 于是写一个python程序&am…...
vue3 ref和reactive使用watch属性的方法和区别
在Vue 3中,您可以使用watch函数和watch选项来监视ref和reactive创建的响应式数据的变化。下面是它们的使用方法和区别: 使用方法: 使用ref和watch: import { ref, watch } from vue;const count ref(0);watch(count, (newVal,…...
YOLO目标检测——卫星遥感舰船检测数据集下载分享【含对应voc、coco和yolo三种格式标签】
实际项目应用:卫星遥感舰船检测数据集说明:卫星遥感舰船检测数据集,真实场景的高质量图片数据,数据场景丰富,含船一个类别标签说明:使用lableimg标注软件标注,标注框质量高,含voc(xm…...
org.Hs.eg.db使用--持续修改
org.Hs.eg.db使用–持续修改 加载 library(org.Hs.eg.db)1 基本信息查询 1.1 display the columns columns(org.Hs.eg.db) [1] "ACCNUM" "ALIAS" "ENSEMBL" "ENSEMBLPROT" "ENSEMBLTRANS" "ENT…...
C# Onnx 百度PaddleSeg发布的实时人像抠图PP-MattingV2
目录 效果 模型信息 项目 代码 下载 效果 图片源自网络侵删 模型信息 Inputs ------------------------- name:img tensor:Float[1, 3, 480, 640] --------------------------------------------------------------- Outputs -----------------…...
linux shell操作 - 04 进程间通信
文章目录 Signal 信号信号定义信号的生命周期信号分类linux进程通信案例 Signal 信号 信号定义 Linux信号是进程间通信的一种方式,通过向目标进程发送一个特定的信号,让其执行相应的处理操作; 向目标进程发送信号时,内核会将信号…...
【Java并发】聊聊线程池原理以及实际应用
线程其实对于操作系统来说是宝贵的资源,java层面的线程其实本质还是依赖于操作系统内核的线程进行处理任务,如果频繁的创建、使用、销毁线程,那么势必会非常浪费资源以及性能不高,所以池化技术(数据库连接池、线程池&a…...
自然语言处理常用方法和评价指标
常用方法 文本分类:如情感分析、主题标签分类。使用方法如朴素贝叶斯、支持向量机、神经网络等。信息提取:从文本中提取结构化信息,如命名实体识别(NER)、关系提取。语义分析:理解文本的含义,包…...
JS 获取URL查询参数
方法一:自己写方法实现 示例代码 参考自:JS 获取 URL参数 | 菜鸟教程 // Desc: 获取URL路径上查询参数值 // params: urlStr:完整URL路径字符串,name:查询参数名 // return: URL查询参数值 function getUrlParamVal(urlStr, name){var url…...
039、行业应用案例(三):嵌入式设备智能助手
一、从一次深夜调试说起 上周在实验室熬到凌晨三点,就为了搞定位一个嵌入式语音模块的离奇问题:设备在安静环境下响应正常,可一到产线车间噪音环境,唤醒率直接掉到30%以下。示波器抓到的音频信号全是毛刺,FFT频谱像是被炸过一样。当时第一反应是麦克风硬件抗噪不行,差点…...
如何快速解决Windows热键冲突:3步定位占用程序的终极指南
如何快速解决Windows热键冲突:3步定位占用程序的终极指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否…...
Element UI Tree懒加载回显踩坑记:default-checked-keys为何总多展开一层?
Element UI Tree懒加载回显深度解析:从原理到实战的完整解决方案 1. 问题现象与背景分析 在VueElement UI的后台管理系统开发中,el-tree组件因其强大的树形展示能力而广受欢迎。但当遇到懒加载模式下的数据回显需求时,不少开发者都会陷入一个…...
【MCP 2026多模态部署终极指南】:20年一线专家亲授GPU显存压缩、跨模态对齐与低延迟推理3大实战范式
更多请点击: https://intelliparadigm.com 第一章:MCP 2026多模态部署全景认知与技术演进脉络 MCP(Multimodal Cognitive Platform)2026 是面向边缘-云协同场景的下一代多模态智能基础设施平台,其核心突破在于统一语义…...
ANIMATEDIFF PRO企业落地实践:中小工作室AI视频内容生产提效方案
ANIMATEDIFF PRO企业落地实践:中小工作室AI视频内容生产提效方案 1. 项目概述:电影级AI视频渲染工作站 ANIMATEDIFF PRO是一款专为中小型创意工作室打造的高性能AI视频生成平台。基于先进的AnimateDiff架构和Realistic Vision V5.1模型构建,…...
人力资源管理——解读全面掌握OKR:目标设定与持续绩效管理的实践指南【附全文阅读】——文末附下载链接
全面掌握 OKR:目标设定与持续绩效管理实践指南推介总结 适应人群:企业高管、HR 管理者、部门负责人、团队主管、OKR 推行专员、咨询师及内训讲师。 重要性总结:本 PPT 是 OKR 从理论到落地的全流程实战指南,系统讲解 OKR 核心思想、与 KPI 的差异、制定规则、撰写方法、实施…...
别再手动搭楼梯了!3DMAX StairGenerator插件保姆级教程,从平面图到渲染模型5分钟搞定
3DMAX StairGenerator插件实战指南:从零到渲染的极速楼梯建模 在建筑可视化与室内设计领域,楼梯建模向来是让3D艺术家又爱又恨的环节。传统手动建模需要精确计算每级台阶的高度、深度和宽度,调整栏杆结构,处理踏板细节,…...
突破JavaScript性能瓶颈:Immutable.js不可变数据结构的终极指南
突破JavaScript性能瓶颈:Immutable.js不可变数据结构的终极指南 【免费下载链接】immutable-js Immutable persistent data collections for Javascript which increase efficiency and simplicity. 项目地址: https://gitcode.com/gh_mirrors/im/immutable-js …...
JDK17-21特性Virtual-Threads详解
Virtual Threads 详解 一、知识概述 Virtual Threads(虚拟线程)是 Java 21 引入的重大特性,它是 Project Loom 项目的核心成果。虚拟线程是一种轻量级的线程实现,由 JVM 而非操作系统管理,可以极大地提高并发程序的可扩展性。 1.1 传统线程的局限性 在虚拟线程出现之前…...
