C++面试实战问题之关键字

1.extern和static的区别,什么情况用前者,什么情况用后者

  • extern用于声明引用其他文件中定义的全局变量或函数。并不分配内存空间。
  • static用于限定变量、函数或类的作用域,使其仅在当前源文件中可见或保持静态特性。
  • 在函数内部,使用static关键字修饰一个局部变量时,该变量在函数调用结束后仍然保持其值,具有静态存储期。
  • 在类中,使用static关键字声明一个静态成员变量或静态成员函数,它们与类的实例无关,可通过类名直接访问。

2.全局变量是否可以被定义在多个.c文件中

全局变量可以被定义在多个.c文件中,但是需要使用关键字extern进行声明。这样可以将全局变量的定义和声明分离,从而避免重复定义而引起的冲突。

3.volatile是什么

volatile关键字用于标记变量为易变的,告诉编译器不要对其进行优化,确保每次访问都从内存中读取最新的值,以及对该变量的写操作立即写入内存。这在多线程、并行程序、硬件寄存器等场景下非常有用。

4.explicit(显式)关键字

在C++中,explicit 是一个关键字,用于修饰单参数构造函数,用于禁止隐式类型转换。当使用 explicit 关键字修饰构造函数时,该构造函数只能用于显式地创建对象,而不能通过隐式的类型转换进行对象的创建或初始化。

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

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

相关文章

PB获取随机字符串

// // 函数: randstr() //-------------------------------------------------------------------- // 描述:获取随机字符串 //-------------------------------------------------------------------- // 参数: // value string as_str 一个随机因子字符串 // value intege…

自定义shell工具函数之get_config()

自定义shell工具函数之get_config() function get_config() {key$1default${2-}value$(grep "^${key}" "${CONFIG_FILE}" | awk -F { print $2 } | awk -F { print $1 })if [[ -z "$value" ]];thenvalue"$default"fiecho "${va…

计算机网络(第六版)复习提纲

计算机网络历程 一、计算机网络体系结构 1974年 美国IBM公司: SNA(系统网络体系结构) 1977年 国际标准化组织: OSI/RM(开放系统互连基本参考模型)【抽象概念】 1983年 国际化标准组织: ISO 74…

CMake 实战构建TcpServer项目 静态库/动态库

爱编程的大丙CMake: 20. 举例 - 下_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV14s4y1g7Zj?p20&spm_id_frompageDriver&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 hehedalinux:~/Linux/LinuxServerCpp$ ls Buffer.cpp Log.h Buffe…

基于Java SSM框架实现学生综合考评管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现学生学生综合考评管理系统演示 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 学生综合考评管理系统,主要的模块包括查看;管理员;个…

知识分享:一文读懂AIGC与大模型

什么是大模型? 关于大模型,有学者称之为“大规模预训练模型”(large pretrained language model),也有学者进一步提出”基础模型”(Foundation Models)的概念。 “小模型”:针对特定应用场景需求进行训练&a…

音频文件格式–celt

CELT介绍 CELT 是一种开放、免版税的有损音频压缩格式,也是一种免费软件编解码器,具有特别低的算法延迟,适用于低延迟音频通信。这些算法是公开记录的,并且可以不受软件专利限制地使用。 CELT 是一种基于改进的离散余弦变换 (MD…

你还没脱单,这些软件都得背锅

不管你是否认可情人节概念,是否会在这天与自己的那个ta相聚,每个成年人都会或多或少地思考自己的感情问题。 在互联网兴盛之前,人与人的交往大都依靠职场关系和熟人介绍来结识新的对象,但也有媒人、婚姻介绍所等专门的职业为适龄…

基于Jackson自定义json数据的对象转换器

1、问题说明 后端数据表定义的id主键是Long类型,一共有20多位。 前端在接收到后端返回的json数据时,Long类型会默认当做数值类型进行处理。但前端处理20多位的数值会造成精度丢失,于是导致前端查询数据出现问题。 测试前端Long类型的代码 …

安卓接入google的Firebase登录教程

1.https://console.firebase.google.com创建安卓项目 2.添加google登录 3.添加项目的SHA证书指纹 4. FireBase自动生成(API和服务) https://console.cloud.google.com/apis/credentials?authuser1&projectbattle-against-darkness 5.下载goog…

3.3.2 CSMA/ CD协议

3.3.2 CSMA/ CD协议 CSMA/CD(Carrier Sense Multiple Access with Collision Detection):载波监听多点接入/碰撞检测。 检测到碰撞后: 适配器立即停止发送。(碰撞点后面的信号会一直叠加)等待一段随机时间…

基于WebFlux的Websocket的实现,高级实现自定义功能拓展

基于WebFlux的Websocket 一、导入XML依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId> </dependency><!-- 或者引入jackson --> <dependency><group…

使用cURL和wget在Linux上进行HTTP请求和下载

在Linux上&#xff0c;cURL和wget是两个常用的命令行工具&#xff0c;用于发送HTTP请求和下载文件。下面我将详细介绍如何使用这两个工具进行HTTP请求和下载操作。 首先&#xff0c;让我们了解一下cURL。cURL是一个功能强大的命令行工具&#xff0c;可以用来发送各种类型的HTT…

WinEdt运行latex文件有eps图片编译不通过,各种报错解决办法

一、背景 我们在使用Winedt编辑并且编译Latex文件时&#xff0c;一般会选择PDFTeXify格式一键编译和生成pdf&#xff0c;如下图所示的选项&#xff0c;这样确实很方便&#xff0c;但经常会出现bug&#xff0c;例如转圈卡死&#xff0c;或编译不通过&#xff0c;报错Unknown gr…

Opencv_棋盘格标定相机

文章内容&#xff1a; 读取棋盘格图片进行标定生成棋盘格图片保存标定后的内容 棋盘格下载&#xff1a;https://gitee.com/liangbo1996/chessboard_27mm // // 生成棋盘格(demo) // void CreateGridironPattern() // { // // 单位转换 // int dot_per_inch 108; //…

【翻译】在Qt Designer中创建主窗口(Main Windows)

原文地址&#xff1a;https://doc.qt.io/qt-6/designer-creating-mainwindows.html Qt Designer 可用于为不同用途创建用户界面&#xff0c;并为每个用户界面提供不同类型的模板。主窗口模板用于创建具有菜单栏、工具栏和停靠窗口部件的应用程序窗口。 通过打开文件菜单并选择…

外观模式介绍

目录 一、外观模式介绍 1.1 外观模式定义 1.2 外观模式原理 1.2.1 外观模式类图 1.2.2 模式角色说明 1.2.3 示例代码 二、外观模式的应用 2.1 需求说明 2.2 需求实现 2.2.1 类图 2.2.2 具体实现 2.2.2.1 灯光类 2.2.2.2 电视类 2.2.2.3 空调类 2.2.2.4 外观面板类…

微积分在激光雷达的信号处理和数据分析中的应用

微分和积分等数学工具在激光雷达信号处理中被广泛应用&#xff0c;以提取目标的速度、距离和位置信息&#xff0c;并分析目标的运动态。这些研究为激光雷达在目标检测、跟踪和环境感知等领域的应用提供了理论基础和技术支持。有一些论文论述利用激光雷达的测距信息和多普勒效应…

Spring Cloud微服务基础入门

文章目录 发现宝藏前言环境准备创建第一个微服务1. 创建Spring Boot项目2. 创建微服务模块3. 编写微服务代码4. 创建一个简单的REST控制器 运行微服务 总结好书推荐 发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不…

【leetcode刷题】模拟专题

模拟 一、替换所有的问号1、题目链接2、解析3、代码 二、提莫攻击1、题目链接2、解析3、代码 三、Z字形变换1、题目链接2、解析3、代码 四、外观数列1、题目链接2、解析3、代码 五、数青蛙1、题目链接2、解析3、代码 一、替换所有的问号 1、题目链接 leetcode链接 2、解析 3、…