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

数据结构类型

1.在C++和C中static关键字的用法
在C中

1.static修饰未初始化全局变量,默认结果为0

2.static修饰局部变量,延长生命周期,生命周期不是作用域,它依旧是局部变量

3.static修饰函数只能在当前文件中调用,不可用跨文件调用

4.static修饰其他文件的全局变量,不可用使用extern引用

5.static修饰指针不可用执行auto类型的地址

原因:计算机先为静态变量分配空间,后在分配auto类型的变量

不可用使用指针指向不存在的变量地址

在C++中

在数据成员前加static是静态数据成员

在成员函数前加static是静态成员函数

它们都属于类,不属于类的实例,它们在所有类的实例中是共享的

2.在C++和C中const关键字的用法

在C中

const修饰的变量不发生改变

1.const修饰的全局变量,值不变,变量的空间在静态区的只读态

2.const修饰的局部变量,值不变,变量的空间在栈区

3.const和指针:const修饰*,值不变,地址可以改变

                           const修饰变量,值可以改变,地址不可以改变

在C++中

const修饰成员函数,为常成员函数,不可用在数据成员进行修改

const修饰对象,为常对象,这个的对象的所有数据成员不能被修改

常对象只能调用常成员函数,如果没有常成员函数,则报错

非常对象对于常成员函数和非常成员函数都可以调用,优先非常成员函数


3.详细说一下QT中基于TCP的通信中服务器端操作

1>创建一个QTCPServer的类对象,该类对象就是一个服务器
2将该对象调用listen函数设置成监听状态,监听时,可以监听指定的ip地址,也可以监听所有主机地址,可以通过指定端口号,也可让该服务器自动选择
3当有客户端发来连接请求时,该服务器就会自动发射一个newConnection的信号,我们可以将该信号连接到自定义的槽函数中处理相关逻辑
4>在槽函数中,可以调用nextPendingConnetion函数可以获取最新连接的客户端套接字的地址,我们可以将该套接字存入到客户端容器中
5>此时,服务器已经和客户端建立连接请求了,如果有客户端向服务器发来数据,那么对于的客户端套接字就会发射一个readyRead的信号
6>读取套接字中的数据使用read、readLine、readAll函数来完成

7>向套接字中写数据,可以使用write函数完成
8>关闭服务器,使用close来完成


4.详细说一下QT中基于TCP的通信中客户端操作

1>实例化一个QTCPSocket的类对象
2>调用该对象的成员函数connectToHost连接到服务,连接服务器时,需要给定服务器的ip地址和端口号
3>如果连接服务器成功,那么该客户端就会自动发射一个connected的信号,我们可以将该信号连接到槽函数中处理相关逻辑
4>如果服务器有数据向客户端发来,那么该客户端就会自动发射一个readyRead信号,我们可以在该信号对应的槽函数中处理数据
5>可以使用read、readLine、readAll读取客户端套接字中的数据

6>可以使用write向服务器发送数据
7>使用成员函数disConnectFromHost断开与服务器的连接
8>如果成功断开与服务器的连接,那么该套接字就会自动发射一个disconnected的信号
 

http://www.lryc.cn/news/156102.html

相关文章:

  • WPF元素绑定
  • centos编译升级cmake,痛苦的Linux小白
  • Unity资源无法下载 反复提示需同意Terms of Service和EULA 同意后无效的解决方案
  • 记录--vue 拉伸指令
  • 前端缓存方法有哪些?cookie有哪些属性?
  • 在PHP8中遍历数组-PHP8知识详解
  • 代码随想录算法训练营之JAVA|第四十三天|139. 单词拆分
  • 解决VUE3项目部署后存在缓存页面不更新的问题
  • 私募证券基金动态-23年8月报
  • Qt/C++音视频开发49-推流到各种流媒体服务程序
  • 深度学习学习笔记——解决过拟合问题的方法:权重衰减和暂退法,与正则化之间的关系
  • 【Leetcode Sheet】Weekly Practice 5
  • STM32 SPI对存储芯片发送写是能命令后一直忙等待
  • MySql学习笔记01——SQL的相关术语
  • SpringMVC入门指南
  • mysql忘记root密码如何解决?
  • ChatGPT可以生成Windows密钥
  • jupyter notebook内核启动报错:ImportError: DLL load failed while importing _device
  • 蓝桥杯备赛(Day5)——二叉树
  • 实现Android APK瘦身99.99%
  • webScoket长连接人性化解读
  • ESDA in PySal (1) 利用 A-DBSCAN 聚类点并探索边界模糊性
  • 利用GitHub实现域名跳转
  • 【Linux详解】——共享内存
  • Golang 几个不错的实用函数库
  • 【Linux】地址空间概念
  • 视频集中存储/直播点播平台EasyDSS点播文件分类功能新升级
  • JavaScript基础06——let和var两个关键字有啥不同
  • Apache Doris 2.0.1 1.2.7 版本正式发布!
  • YOLOv5算法改进(11)— 替换主干网络之EfficientNetv2