1、在C++和C中static关键字的用法
答:static关键字表示存储类型,修饰数据类型。在C语言中,static修饰局部变量,内存分配在静态区,生命周期延长,作用域不变。static修饰全局变量,内存分配在静态区,作用域被局限于本文件,不能被extern引用。static修饰函数,不能被extern引用。在C++中,static修饰成员函数与数据成员,则成员函数与数据成员属于类但不属于类的实例,所有类共享,可通过类名与作用域限定符直接调用。静态数据成员在类内声明,类外定义。静态成员函数只能访问静态数据成员。文章来源:https://www.toymoban.com/news/detail-695467.html
2、在C++和C中const关键字的用法
答:const在C语言与C++中起到的作用都是保护目标,使得目标不被修改。在C语言中,const修饰普通变量,普通变量不能更改,const修饰指针,指针的指向不能更改,const修饰指针的解引用,指针解引用的值不能更改,指针的指向可以更改,const修饰函数的参数时,函数的参数不能更改。在C++中,const修饰成员函数,成员函数的参数不能更改,此时被修饰成员函数与其同名的成员函数构成函数重载。const修饰对象,则这个对象中的所有成员函数均不能更改,常对象只能调用常成员函数,而非常对象既可以调用常成员函数又可调用非常成员函数。const修饰返回值,返回值不能发生修改,const修饰引用,此时不能通过引用修改其引用的内容。文章来源地址https://www.toymoban.com/news/detail-695467.html
3、QT中基于TCP的通信中服务器端操作
- 创建一个QTcpServer类对象,该类对象就是一个服务器
- 调用listen函数将该对象设置为被动监听状态,监听时,可以监听指定的ip地址,也可以监听所有主机地址,可以通过指定端口号,也可以让服务器自动选择
- 当有客户端发来连接请求时,该服务器会自动发射一个newConnection信号,我们可以将该信号连接到自定义槽函数处理相关逻辑
- 在槽函数中,可以调用nextPendingConnection函数可以获得最新连接的客户端套接字地址,我们可以将该套接字地址存储到容器中
- 此时服务器与客户端已经建立连接,如果有客户端向服务器发来数据,那么对应的客户端套接字就会发射一个readyRead信号
- 读取套接字中的数据使用read、readLine、readAll函数来完成
- 向套接字中写数据,可以使用write
- 关闭服务器,使用close来完成
4、QT中基于TCP的通信中客户端操作
- 实例化一个QTcpSocket类对象
- 调用该对象的成员函数connectToHost连接到服务器,连接服务器时,需要给定服务器的ip地址和端口号
- 如果连接服务器成功,那么该客户端就会自动发送一个connected信号,我们可以将该信号连接到自定义槽函数中处理相关逻辑
- 如果服务器向客户端发来数据,那么该客户端就会自动发射一个readyRead信号,我们可以将该信号连接到自定义的槽函数中处理相关逻辑
- 可以使用read、readLine、readAll读取客户端中的数据
- 可以使用write向服务器发送数据
- 使用成员函数disConnectFromHost断开与服务器的连接
- 如果成功断开与服务器的连接,那么该套接字就会自动发射一个disconn信号
到了这里,关于在C++和C中static关键字的用法,在C++和C中const关键字的用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!