专业的集团网站开发开发,wordpress 目录seo,软件开发网络技术开发公司,nodejs网站毕设代做1、在C和C中static关键字的用法 在C语言和C中#xff0c; ① static修饰未初始化的全局变量#xff0c;结果默认为0 #xff1b; ② 当static修饰局部变量时#xff0c;只是延长了这个变量的生命周期#xff0c;并没有改变其作用域。 比如说#xff0c;这个变量是在哪个函…1、在C和C中static关键字的用法 在C语言和C中 ① static修饰未初始化的全局变量结果默认为0 ② 当static修饰局部变量时只是延长了这个变量的生命周期并没有改变其作用域。 比如说这个变量是在哪个函数被定义的那么它的作用域就只在这个函数中但是它的声明周期被延长了一般的局部变量时函数结束变量就会被释放掉但是以static修饰的局部变量会在整个项目结束时才被释放所以它的值能够被保留再次调用该函数时不会重新被定义出来是继续使用之前的这一个变量 ③ 用static修饰的函数只能在本文件中被调用不能被跨文件调用 ④ 用static修饰的全局变量不能用extern引用到其他文件使用 ⑤ 用static修饰的指针不能指向auto类型的地址。因为计算机时先为静态变量分配空间再分配auto类型的变量不可以使用指针指向不存在的变量地址。 在C中有静态数据成员和静态成员函数两个概念 ① 静态数据成员和静态成员函数都属于类但不属于类的实例化它们在所有类的实例当中是共享的。 ② 静态数据成员就是在类中定义数据时在数据成员前static关键字它需要在类外进行初始化如果不初始化的话默认结果为0但不建议这么做。 ③ 静态成员函数也就是在类中定义函数时在函数声明前static静态成员函数 只能访问 静态数据成员。 2、在C和C中const关键字的用法 const的作用是保护数据不被修改 当const修饰一个普通变量时说明这个变量的值不能被修改所以在定义该普通变量时要对其初始化否则后期无法更改它的值const修饰的全局变量值不能被修改变量的空间在静态区的只读段const修饰的局部变量值不能被修改变量的空间在栈区将const放在*号前面修饰的是值如果放在*后面表示指针的指向不能修改可以通过指针修改指针中的值如果两个都修饰*前后都有const两个都不能更改const修饰函数形参数据则为保护形参数据不被更改。当指针、引用作为函数形参不能该值的时候需要用const修饰const修饰函数的返回值修饰指针、引用作为形参保护形参数据不被更改如果修饰的是值返回可修饰可不修饰当修饰的是指针或者引用返回的时候需要设置成const 在C中const修饰的成员变量代表这是常成员变量必须使用初始化列表进行初始化。 ① 当类中有常成员的时候必须使用初始化列表进行初始化 ② 类中有成员子对象时调用构造函数完成初始化列表 ③ 保护成员变量不被修改 ④ 任意一个常成员函数中不能修改常成员变量的值除非使用vlabel关键字取消常属性 3、详细说一下QT中基于TCP的通信中服务器端操作 创建一个QTCPServer的类对象该类对象就是一个服务器将该对象调用listen函数设置成监听状态监听时可以监听指定的ip地址也可以监听所有主机地址(Any)可以通过指定端口号也可让该服务器自动选择当有客户端发来连接请求时该服务器就会自动发射一个newConnection的信号我们可以将该信号连接到自定义的槽函数中处理相关逻辑 在槽函数中可以调用nextPendingConnetion函数可以获取最新连接的客户端套接字的地址我们可以将该套接字存入到客户端容器中此时服务器已经和客户端建立连接请求了如果有客户端向服务器发来数据那么对于的客户端套接字就会发射一个readyRead的信号读取套接字中的数据使用read、readLine、readAll函数来完成向套接字中写数据可以使用write函数完成关闭服务器使用close来完成 注意QByteArray和QString之间的转换 4、详细说一下QT中基于TCP的通信中客户端操作 实例化一个QTCPSocket的类对象调用该对象的成员函数connectToHost连接到服务连接服务器时需要给定服务器的ip地址和端口号如果连接服务器成功那么该客户端就会自动发射一个connected的信号我们可以将该信号连接到槽函数中处理相关逻辑如果服务器有数据向客户端发来那么该客户端就会自动发射一个readyRead信号我们可以在该信号对应的槽函数中处理数据可以使用read、readLine、readAll读取客户端套接字中的数据可以使用write向服务器发送数据使用成员函数disConnectFromHost断开与服务器的连接如果成功断开与服务器的连接那么该套接字就会自动发射一个disconnected的信号 注意QByteArray和QString之间的转换 各个信号在构造函数内连接即可不用在槽函数中连接