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的信号

相关推荐
黄敬峰15 小时前
Next.js 全栈实战:数据清洗、ORM 设计与 AI Prompt 工程最佳实践
面试·github
雨夜之寂19 小时前
雨夜-现在有办法识别是不是ai文章么
后端·面试
不正经学生20 小时前
C语言动态内存管理(上):堆上的自由与责任
c语言·开发语言·c++·算法·面试
ssshooter21 小时前
AI 时代你不能不知道的 git worktree
前端·后端·面试
CoderYanger21 小时前
A.每日一题:输入单词需要的最少按键次数 Ⅰ+Ⅱ
java·数据结构·算法·leetcode·面试
艾莉丝努力练剑1 天前
【AI大模型接入SDK】SSE协议
c++·学习·面试·大模型·sdk
Rain的Java大神之路1 天前
如何保证接口幂等
java·经验分享·后端·面试·架构
aichitang20241 天前
快乐泛函每一天:希尔伯特空间中的最佳逼近与正交投影定理
人工智能·考研·算法·ai·面试·泛函分析
艾莉丝努力练剑1 天前
【AI大模型接入SDK】WebSocket & SSE 协议
网络·c++·websocket·网络协议·学习·面试
小义_1 天前
JDK 深度解析
java·linux·开发语言·python·面试