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

相关推荐
C雨后彩虹7 小时前
任务最优调度
java·数据结构·算法·华为·面试
Chan1611 小时前
【 Java八股文面试 | JavaSE篇 】
java·jvm·spring boot·面试·java-ee·八股
辞砚技术录11 小时前
MySQL面试题——索引2nd
数据库·mysql·面试
码农水水13 小时前
中国邮政Java面试:热点Key的探测和本地缓存方案
java·开发语言·windows·缓存·面试·职场和发展·kafka
a程序小傲13 小时前
小红书Java面试被问:TCC事务的悬挂、空回滚问题解决方案
java·开发语言·人工智能·后端·python·面试·职场和发展
a努力。14 小时前
国家电网Java面试被问:最小生成树的Kruskal和Prim算法
java·后端·算法·postgresql·面试·linq
NAGNIP14 小时前
一文搞懂机器学习中的学习理论!
算法·面试
CCPC不拿奖不改名15 小时前
数据处理与分析:数据可视化的面试习题
开发语言·python·信息可视化·面试·职场和发展
柒.梧.16 小时前
SSM常见核心面试问题深度解析
java·spring·面试·职场和发展·mybatis
ssshooter18 小时前
复古话题:Vue2 的空格间距切换到 Vite 后消失了
前端·vue.js·面试