
笔记
文章平均质量分 50
鱼翔丶浅底
随意就好
展开
-
Qt5网络编程3-基于TCP编程
Qt5网络编程3-基于TCP编程1 TCP(transmission control protocol)工作原理TCP是面向连接的,可靠的,基于字节流的传输协议,在数据传输之前,客户端和服务器必须要建立连接.在数据传输的过程中,有数据的校验.因此TCP传输数据时比较可靠的,但是传输效率没有UDP高.此外,它是一种全双工的工作方式.关于TCP的详细描述,可以参考博主博客:TCP数据的传输过程2 Qt中与TCP编程相关 的类QTcpSocket Class :提供一个TCP套接字的类,可以使用它建立原创 2020-10-01 20:03:30 · 277 阅读 · 0 评论 -
C++单例模式的实现
C++单例模式的实现1 单例模式1)概念:一个类只能创建唯一一个对象。并提供它的访问方法。2)实现思路禁止在类的外部创建对象:私有化构造函数在类的内部维护唯一的对象 :静态成员变量。提供单例对象的访问方法:通过一个静态成员函数。 3)创建方式饿汉式:单例对象无论用或不用,程序启动即创建。懒汉式:单例对象用时再创建,不用即销毁。4)总结优缺点饿汉式 : 代码实现简单,多线程安全,访问效率高,在程序装载的时候就创建了对象。浪费内存,以空间(内存)换时间懒汉式 : 节省内存,以时间原创 2020-09-26 00:21:22 · 188 阅读 · 0 评论 -
socket编程--相关函数
socket编程–相关函数1.socket函数头文件:#include <sys/types.h> #include <sys/socket.h>1)函数原型int socket(int domain, int type, int protocol);2)函数功能创建一个套接字,并返回一个文件描述符;3)函数参数domain协议家族AF_INET : IPv4协议AF_INET6: IPv6协议type:数据传输方式/套接字类型,常原创 2020-09-24 01:16:21 · 510 阅读 · 0 评论 -
socket编程--socket基础
socket编程–socket基础 1. socket基本概念 2. 套接字的类型1.socket的基本概念socket 的原意是“插座”,在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。UNIX/Linux 中的 socket 在 UNIX/Linux系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的原创 2020-09-23 23:00:16 · 156 阅读 · 0 评论 -
C++实现字符串加密算法
算法需求描述有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙。下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。如果单词中包含有重复的字母,只保留第1个,其余几个丢弃。现在,修改过的那个单词属于字母表的下面,如下所示:A B C D E F G H I J K L M N O P Q R S T U V W X Y ZT R A I L B Z E S C D F G H J K M N O P Q U V W X Y上面其他用字母表中剩余的字母填充完整。在对信息进原创 2020-09-20 00:56:35 · 8860 阅读 · 4 评论 -
c++ STL容器基础
c++ STL容器基础STL序列式容器也叫线性容器.包括 array、vector、deque、list 和 forward_list 容器。1.STL容器的类型简单的理解容器,它就是一些模板类的集合,但和普通模板类不同的是,容器中封装的是组织数据的方法(也就是数据结构)。STL 提供有 3 类标准容器,分别是序列容器、排序容器和哈希容器,其中后两类容器有时也统称为关联容器.1.1 序列容器(线性容器)序列容器主要包括:vector 向量容器、list 列表容器以及 deque 双端队列容器。之所原创 2020-09-18 16:25:44 · 118 阅读 · 0 评论 -
基于C++实现string类
基于C++实现string类在C++ string类是比较典型的一个类。在类的内部使用一个char类型的指针去维护一个内存。最主要的成员函数包括构造函数、析构函数、拷贝构造函数,拷贝赋值函数。下面就使用 C++实现String类#include <iostream>#include <cstring>using namespace std;class String{public: //构造函数 String(const char* str = NULL){ /原创 2020-09-03 00:17:24 · 226 阅读 · 0 评论 -
数据结构学习-使用C语言实现队列(源码)
数据结构学习-使用C语言实现队列(源码) 1 /* 2 * 队列演示 3 * 先进先出 4 */ 5 #include <stdio.h> 6 #define SIZE 10 7 typedef struct{ 8 //小下表存储前面的数字 大下标存储后面的数字 9 int buf[SIZE]; 10 //最前面的数字所在存储区的下标 11 //如果队列里没有数字,则head=tail 12 int head;原创 2020-08-27 18:02:32 · 347 阅读 · 0 评论 -
C语言学习-数据结构(栈的实现)
C语言学习-数据结构(栈的实现)1、栈的简述栈是一种数据结构,它可以用来存放数字,一次只能存放一个数字。一次只能向栈里加入一个数字。可以栈里获得一个数字,一次只能获得一个数字。栈里的数字有前后顺序,先进入的数字在前,后进入的数字在后。每次从栈里获得数字必须是最后放进去的数字。这种使用规则叫后进先出。编写栈的时候需要提供一个push函数,它负责向栈里加入一个数字,还需要提供一个pop函数,它负责从栈里获得一个数字。2 、栈的实现 1 #include <stdio.h>原创 2020-08-21 01:04:48 · 186 阅读 · 0 评论 -
C语言学习--链式物理结构(代码笔记)
C语言学习–链式物理结构动态分配内存源代码#include <stdio.h> 2 #include <stdlib.h> 3 4 typedef struct node{ 5 int val; 6 struct node* p_next; 7 }node_t; 8 int main(void) 9 { 10 node_t head = {0},tail = {0}; 11 int arr[] = {10,5原创 2020-08-20 23:40:24 · 195 阅读 · 0 评论 -
Qt自定义控件的使用
QT5自定义控件并将控件加入到控件列表中1、创建自定义控件,这里同样以16进制的QSpinBox为例。原创 2020-08-12 23:09:23 · 871 阅读 · 0 评论 -
Qt中自定义窗口部件HexSpinBox
Qt中自定义窗口部件HexSpinBox在很多情况下,Qt中内置的窗口部件不一定会满足我们的开发需求,这个时候我们就需要自定义窗口部件。下面是自定义一个16进制的微调框代码示例**。简述Qt中自带的QSpinBox支持十进制整数和十进制浮点数。但是并没有支持16进制。需要我们去自定义一个实例。需要继承自QSpinBox。有以下几个虚函数需要重写。 //这个是用来检查用户输入文本的合法性QValidator::State validate(QString &text, int &am原创 2020-08-12 16:57:10 · 724 阅读 · 0 评论 -
C++中的引用在结构体中的应用
源程序:#include <iostream>#include <string>struct free_throws{ std::string name; int made; int attempts; float percent;};void display(const free_throws &ft);void se...原创 2020-03-12 23:26:21 · 481 阅读 · 0 评论 -
C++中的默认参数
C++中默认参数主要是用在一些参数经常是某一个值的时候。带默认参数的函数在声明的时候,需要对默认参数进行赋值。在函数定义的时候,需要将默认参数去掉。下面是一个简单的关于默认参数的例子,函数的功能是截取前n个字符。#include <iostream>const int ArSize = 80;char * left_1(const char *str,int n = 1);i...原创 2020-03-12 23:04:16 · 437 阅读 · 0 评论 -
C++中的常用关键字
*volatile关键字1、volatile常量指针private: volatile int vlnt = 10; int a = vlnt; int b = vlnt;这里指出vlnt是随时可能发生变化的每次使用它的时候,必须从vlnt的地址中读取。因而编译器生成的代码会重新从vlnt的地址读取数据。它会自动把上次读取的数据发到b中。...原创 2020-03-12 22:38:57 · 958 阅读 · 0 评论 -
C++中的静态变量
静态持续变量:三种链接性:外部链接性(在其他文件中也可访问)、内部链接性(只能在当前文件中访问)、无链接(只能在当前函数和代码块中访问)。int globle = 1000;//外部链接性,其他文件中也可访问。static int one_file = 10;//内部链接性,在其他文件中不可访问,//整个程序中都可以使用这个变量int main(){……}void func_...原创 2020-03-12 21:36:20 · 284 阅读 · 0 评论 -
C++中的public、private 、protected关键字说明
C++中的public、private 、protected关键字说明:这三个关键字是用在类的声明中:class Base{public :private:protected:};public:类内、类的对象;派生类内、派生类对象均可访问;private:只有类内部,可以访问;类的对象、派生类、派生类对象,都不可以访问。protected : 类内、派生类内,可以访问,类的对象...原创 2020-03-12 21:32:53 · 1494 阅读 · 0 评论 -
2020-03-09
我们知道对XML的操作有两种方法,即DOM方式和SAX方式。二者主要区别是:DOM实现方式操作非常简单,但不适合处理过大文件;而SAX实现方式是能处理很大的XML文件,但是需要开发者写一些复杂的代码。Qt提供了对应于这两种用于读取、操作和编写XML的实现类,分别是QDomDocument类和QXmlStreamReader类,由于在项目中涉及的文件不大,因此我们选用QDomDocument类来处理...原创 2020-03-09 23:19:18 · 148 阅读 · 0 评论 -
2020-03-08
/volatile关键字************//1、volatile常量指针这里指出vlnt是随时可能发生变化的每次使用它的时候,必须从vlnt的地址中读取。因而编译器生成的代码会重新从vlnt的地址读取数据。优化的做法是:由于编译器发现两次从vlnt中读取的代码之间没有对vlnt进行过操作,它会自动把上次读取的数据发到b中。*//2、## 标题olatile关键字常用在以...原创 2020-03-08 19:30:04 · 148 阅读 · 0 评论