当前位置: 首页 > news >正文

9.5QTday6作业

面试题1:c语言中的static和c++中的static的用法

在c语言中:

1.static修饰的全局变量作用域限制在当前文件,无法被外部文件所引用。2.static修饰的局部变量延长生命周期,但不改变作用域,同样无法被外部文件所引用。3.static修饰的指针不能指向auto类型的地址,因为static类型的指针先分配地址。4.static修饰函数使函数具有内部链接,只能在当前文件访问,避免了其他文件中的同名函数冲突。

在c++中:

1.static修饰的成员在文件编译时分配空间,不占用该成员的类对象中的空间,可以不实例化对象直接调用。2.static修饰成员函数时,该成员函数属于类中的,不属于类对象,可以不实例化对象直接通过类名加域限定符进行调用,该静态成员函数不能调用类中的非静态成员变量,只能调用静态成员变量。3.static修饰的成员函数相当于在类中定义了一个全局函数,对类中的同名非静态成员函数不构成函数重载,因为作用域的不同。4.static修饰的成员变量同样属于类,只在类中声明,必须在类外定义,所有类对象共享。未定义的静态成员变量默认值为0。5.static修饰的静态成员变量在被类的实例化对象调用时不占用类的内存空间,相当与在类中定义了一个全局变量,当多个类中都调用了静态成员变量时,相当于对静态成员变量的地址进行操作,一个类对象修改了其的值,其他所有类对象中的静态成员变量都相应改变。6.静态成员变量相对于全局变量,更体现了类的封装性。

面试题2:在c和c++中const关键字的用法

在c中:

1.const修饰的全局变量地址在堆区的只读段,不能修改变量的值,但需要定义时初始化。2.const修饰的局部变量值不能改变,地址在栈区。3.const修饰的指针时:当const在*左边时值不能改变,地址能改变。当const在*的右边是地址不能改变,值能改变。当const在*的两侧是地址和值都不能改变。

在c++中:

1.修饰的成员函数是常成员函数,不能修改数据成员。2.修饰的对象是常对象,所有数据成员都不能被改变,成对象只能调用常成员函数。非常对象可以调用常成员函数和非常成员函数,优先非常成员函数。常成员函数和非常成员函数构成函数重载,因为this指针类型不同。3.const修饰的变量可以用mutable关键字取消常属性,让其可以改变。

面试题3:Qt中基于TCP通信中的服务器和客户端的操作

服务器:

1.创建一个QTCPServer的类对象,作为一个服务器。

2.对该对象调用listen函数设置监听状态,可以监听指定ip地址,也可以监听所有主机地址,端口号可以指定也可以自动生成。

3.当有客户端发来连接请求时,服务器就会发射一个newConnect信号,我们可以将该信号连接到自定义槽函数进行操作逻辑操作。

4.在槽函数总可以调用nextPendingConnection函数来获取最新连接的客户端套接字的地址,将该套接字存到客户端容器中。

5.此时客户端与服务器已经建立连接请求,如果有客户端向服务器发来数据,客户端就会发射一个readyRead信号。

6.服务器可以用read,readLine,readALL函数来完成数据的读取。

7.向套接字中写数据,可以使用write函数完成。

8.用close函数关闭服务器.

客户端:

1.实例化一个QTCPSocket的类对象。

2.调用该对象的成员函数connectToHost连接到服务器,连接服务器时需要给定服务器的ip地址和端口号

3.如果连接服务器成功,那么该客户端就会自动发射一个connected的信号,我们可以将该信号连接到对应的槽函数中尽显逻辑操作

4.如果服务器有数据向客户端发来,那么客户端就会自动发射一个readyRead信号,我们可以在该信号对应的槽函数中处理数据。

5.可以使用read,readLine,readAll读取客户端套接字中的数据

6.可以使用write向服务器中发送数据

7.使用成员函数disConnectFromHost断开与服务器的连接

8.如果断开成功,套接字就会发射一个disconnected的信号
 

相关文章:

9.5QTday6作业

面试题1:c语言中的static和c中的static的用法 在c语言中: 1.static修饰的全局变量作用域限制在当前文件,无法被外部文件所引用。2.static修饰的局部变量延长生命周期,但不改变作用域,同样无法被外部文件所引用。3.st…...

Redis I/O多路复用机制

一、基础回顾 1.1 多路复用要解决什么问题 并发多客户端连接场景,在多路复用之前最简单和典型的方案就是同步阻塞网络IO模型。 这种模式的特点就是用一个进程来处理一个网络连接(一个用户请求),比如一段典型的示例代码如下。 直接调用 recv 函数从一个 socket 上…...

Matlab 2016安装MinGW-w64-4.9.2

Matlab 2016安装MinGW-w64-4.9.2 项目需求:需要将matlab中的.m文件编译为cpp文件 .dll .h .lib。 我相信大家在对matlab2016安装MinGW-w64出现了各种各样的问题。如:4.9.2安装失败;安装了其他版本但是matlab检测不到,或者其他各种…...

Tomcat配置ssl、jar包

Tomcat配置ssl 部署tomcat服务,项目做到用https访问,使用nginx去做,访问任意一个子网站,都是https 或者 医美项目需要 上传jdk 456 tomcat war包 [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/…...

Unity中Shader实现UI去色功能的实现思路

文章目录 前言一、在开发过程中,在UI中会涉及一些需要置灰UI的需求,有很多实现的方法1、做两套纹理,通过程序控制切换2、使用shader实现对纹理去色 二、这里主要记录用shader实现的思路1、基础纹理的采样2、支持组件中的调色3、遮罩功能4、去…...

Python垃圾回收机制详解:引用计数与循环垃圾收集器

文章目录 Python垃圾回收机制引用计数机制循环垃圾收集器小结详细讲解及实操1. 程序中的垃圾问题2. 垃圾的定义3. 自动垃圾回收机制4. 示例:使用del方法删除垃圾对象5. 手动处理垃圾回收6. 结束程序7. 垃圾回收的自动处理8. 结束程序 python精品专栏推荐python基础知…...

自然语言处理应用(三):微调BERT

微调BERT 微调(Fine-tuning)BERT是指在预训练的BERT模型基础上,使用特定领域或任务相关的数据对其进行进一步训练以适应具体任务的需求。BERT(Bidirectional Encoder Representations from Transformers)是一种基于Tr…...

MySQL基础【学习至基本语句】

一、安装与配置 1、安装 yum install -y mysql-server.x86_642、MySQL安装完成后,启动报错,查看MySQL的状态,发现是3306端口被占用 [rootiZ56kkvaq4nlfhZ etc]# systemctl status mysqld.service ● mysqld.service - MySQL 8.0 database …...

Leetcode152. 连续子数组的最大乘积

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32…...

01_kafka_环境搭建安装_topic管理

文章目录 安装jdk配置主机名Zookeeper 下载与安装Kafka 下载与安装测试集群版安装测试输出 安装jdk 略 配置主机名 hostnamectl set-hostname kafka_1 /etc/sysconfig/network HOSTNAMEkafka_1/etc/hosts ip kafka_1ping kafka_1 测试 Zookeeper 下载与安装 由于 集群…...

Python+Requests+Excel接口测试实战

1、EXCEL文件接口保存方式,如图。 2、然后就是读取EXCEL文件中的数据方法,如下: 1 import xlrd2 3 4 class readExcel(object):5 def __init__(self, path):6 self.path path7 8 property9 def getSheet(self): 10 …...

10:STM32------I2C通信

目录​​​​​​​ 一:I2C通信协议 1:I2C简历 2:硬件电路 3:I2C时序基本单元 A : 开/ 终条件 2:发送一个字节 3:接收一个字节 4:应答机制 4:I2C时序 1:指定地址写 2:当前地址读 3: 指定地址读 二:MPU6050 1:简历 2:参数 3:硬件电路 4:框图 5:寄存器地址 …...

Git多人开发解决冲突案例

准备工作: 1.创建一个gitee远程仓库https://gitee.com/xxxxxxx.git 2.初始化两个本地git仓库用户,目的是模拟多人协作开发时提交代码发生冲突的场景 3.解决冲突并提交。 进入正题: lisi 通过vim指令修改readme.md文件内容,推送到…...

医疗机构如何维护电力系统?来看看这个小技巧

在现代医疗领域,电力是不可或缺的。从手术室里的手术灯到病房中的呼吸机,医院的各种医疗设备和系统都依赖于稳定的电源供应。 然而,电力中断和紧急情况不可避免,而这些情况下的电力可靠性可能会直接影响病人的生命和健康。为了确保…...

时序预测 | MATLAB实现ELM极限学习机时间序列预测未来

时序预测 | MATLAB实现ELM极限学习机时间序列预测未来 目录 时序预测 | MATLAB实现ELM极限学习机时间序列预测未来预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现ELM极限学习机时间序列预测未来; 2.运行环境Matlab2018及以上,data为数…...

【数据分享】1901-2022年我国省市县镇四级的逐年平均气温数据(免费获取/Shp/Excel格式)

气象数据在日常研究中非常常用,之前我们分享过来自国家青藏高原科学数据中心提供的1901-2022年1km分辨率逐月平均气温栅格数据,2001-2022年我国省市县镇四级的逐月平均气温数据,以及基于该栅格数据处理得到的1901-2022年1km分辨率的逐年平均气…...

【Axure高保真原型】日历日期原型模板

今天和大家分享日历日期的原型模板,包括月计划、周计划、日计划的原型案例,以及日期、时间、月份、区间选择器……具体效果可以点击下方视频观看 【原型预览及下载地址】 Axure 原型 备用地址:Untitled Document 【原型效果】 【原型效果…...

深入了解接口测试:Postman 接口测试指南

在现代软件开发生命周期中,接口测试是一个至关重要的部分。使用 Postman 这一工具,可以轻松地进行 接口测试。以下是一份简单的使用教程,帮助你快速上手。 安装 Postman 首先,你需要在电脑上安装 Postman。你可以从官网上下载并…...

【ROS】Ubuntu20.04+ROS Noetic 配置PX4-v1.12.2和Gazebo11联合仿真环境【教程】

【ROS】Ubuntu20.04ROS Noetic 配置PX4-v-v1.12.2和Gazebo11联合仿真环境【教程】 文章目录 【ROS】Ubuntu20.04ROS Noetic 配置PX4-v-v1.12.2和Gazebo11联合仿真环境【教程】0. 安装UbuntuROS1. 安装依赖2. 安装QGC地面站3. 配置PX4-v1.12.23.1 安装PX43.2 测试PX4是否成功安装…...

Java 代理模式之静态代理与动态代理

1,代理模式 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。 代理模式的目的: (1)通过引入代理对象的方式来间接访问目标对象,防…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术&#xff0c;它们扮演着完全不同的角色&#xff1a; Redis: 内存数据库/数据结构存储 本质&#xff1a; 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能&#xff1a; 提供丰…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...