- 博客(50)
- 资源 (1)
- 收藏
- 关注
原创 拷贝构造函数
拷贝构造函数一. 什么是拷贝构造函数:默认拷贝构造函数(浅拷贝):浅拷贝构造函数即系统自带的拷贝构造函数,当程序将一个已经定义的对象数据给另一个对象作为初始值时,并且程序为自定义拷贝构造函数,系统就会自动调用默认拷贝构造函数.形式:自定义拷贝构造函数(深拷贝)Human h1(25, 28000);//调用自定义的构造函数 Human h2 = h1; //调用拷贝构造函数 ...
2019-09-08 11:00:02 1532 4
原创 通信棒自动化测试工具
本项目是(2023.11.xx-至今)在江苏xx智慧能源股份有限公司开发的,属于公司项目。该项目主要通过串口、蓝牙等通信方式完成通讯棒的自动检测
2024-03-05 10:27:21 202
原创 socket基础-socket,bind,listen,accept等函数
1、socket函数//linux#include <sys/types.h> #include <sys/socket.h>int socket(int domain, int type, int protocol);argument 1(domain) : AF_INET IPv4地址 AF_INET IPv6地址argument 2(type) :
2020-08-09 15:58:29 409
原创 socket基础-IP地址转换函数
// 2020/8/1// 更新中1、IP地址转换接口#include <arpa/inet.h>int inet_pton(int af, const char *src, void *dst);//字符串ip地址转换成网络ip地址const char* inet_ntop(int af, const void *src, char *dst, socklen_t size);//与上相反//af取值可选为AF_INET(ipv4,4字节) 和 AF_INET6(ipv6,16字
2020-08-01 00:33:11 411
原创 socket基础-sockaddr数据结构
1、历史:struct sockaddr 很多网络编程API诞生早于IPv4协议,那时候都使用的是sockaddr结构体,为了向前兼容,现在sockaddr退化成了(void *)的作用,传递一个地址给函数,至于这个函数是sockaddr_in还是其他的,由协议族确定,然后函数内部再强制转化为所需的地址类型。2、结构图3、结构代码#include <netinet/in.h>struct sockaddr{ sa_family_t sa_family; /* adress f
2020-07-31 00:17:51 754
原创 socket基础-网络字节序
//好多天没写了,最近服务器持续更新 2020/7/30//求批判,求指正1、在计算机里,有两种字节序:大端字节序- 低地址高字节,高地址低字节小端字节序(常用)- 低地址低字节,高地址高字节两种字节序不同是由于历史原因,标准不同造成的,小端字节序常用。2、客户端和服务端交互,大小端问题:服务器和客户端同是小端或是同是大端才能交互,如果服务器和客户端一个是大端,另一个是小端,则无法进行信息传送。3、网络数据流:由于发送端通将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收端将从网络上
2020-07-30 03:20:06 367
原创 QT 信号与槽
1、连接信号与槽:1对11对多多对1信号与信号1对12、断开信号与槽disconnect(res);(QMetaObject::Connection res:连接的返回值)1对1:disconnect(this , signal, this , slot);1对多:disconnect(this , signal, 0, 0);多对1:disconnect(0, 0, this, slot);多对多:disconnect(this, 0, this, 0);disconnect
2020-07-06 18:05:49 168
原创 使用算法之堆排序
排序原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素找到最小(大)元素,然后放到已排序的序列的末尾,以此类推,直到全部待排序的数据元素的个数为0;实现:堆实现中的popMax()函数实现。...
2020-06-28 23:09:24 175
原创 实用算法之希尔排序
引入:通过插入排序,发现插入排序在某些情况下也有很多缺点,比如:{43,47,50,52,1,2}52前的元素基本不用插入操作已经是有序,元素1和2的排序几乎要移动数组前面的所有元素,于是,就有了希尔排序来优化这种尴尬。解析:希尔排序是一种插入排序,它是在插入排序的基础上进行改进的,是一种更高效的版本,也称为缩小量排序。它与插入排序的不同之处在于,它会优先比较距离较远的元素。排序原理:希尔排序是把数组按数组的增量进行分组,对每组使用直接插入排序算法排序;随着增量的减少,每组包含的元素变多,当增
2020-06-28 13:31:27 213
原创 QString关于查询、截取字符串问题
解释:QString可以通过index进行查询int QString::indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const解析:index查询字符串中str的位置例子:QString parent = QStringLiteral("王/杰/最/帅/了");要求:先把字符串中"/“去除,在查询“”最帅“”字符串解析:把要去除”/",首先需要把字
2020-06-20 14:31:18 2181 1
原创 关于QString的section方法的一些问题
含义:section的字面意思是"把…分段",实际上这个函数就是这个意思。易错讲解:1、//完整的函数QString section(const QString &sep, int start, int end = -1, QString::SectionFlags flags = SectionDefault) const重点:这个函数首先会将str对象按照"sep"分成几个段,然后start和end会是根据这些段来计算的。例如:QString parent = QStri
2020-06-20 12:24:15 1277 1
原创 使用排序是插入排序
排序原理:将未排序的数据依次插入合适的位置完成排序。算法过程:举个例子:香港小姐选美大赛中,需要根据体重从低到高进行排序。起始颜值数组:{50,43,47,52,46,45}1)把首个元素当成新的数组的开头:结果:{50} {43,47,52,46,45}2)把第2个元素位置空出来,如果前面元素比它大,再向前遍历比较,如果小,则插入:虚拟数组:{50,x} {47,52,46,45} x:代表空出来的位置结果:{43,50} {47,52,46,45}3)重复2)操作,知道右边数据没
2020-06-07 22:37:03 190
原创 实用算法之冒泡排序
1、为什么叫冒泡排序:在排序过程中相邻元素不断比较,交换位置,数据大(小)的慢慢向后移动,看起来就像是吐泡泡一样,所以叫冒泡排序。2、排序原理:从头开始依次比较相邻两个元素,如果前面一个元素比后面一个元素大,则交换两个元素的位置,多次从头开始遍历,直到没有可以交换的相邻2个元素为止。3、算法稳定性:如果两个相邻的元素相等,那么不需要改变位置;如果不相邻的两个元素相等,由于是两两交换,所以他们的位置也不会改变;所以冒泡排序是一种稳定的排序算法。4、算法过程:举个例子:香港小姐选美大赛中,需要根
2020-06-07 20:12:29 297
原创 实用算法之选择排序
选择排序是排序中最简单也是最常见的排序算法。1、算法思想/原理:首先遍历数组,从数组中找出最小(大)数与第一个数(或者最后一个数)交互位置;依次循环上面的操作,直到遍历到最后一个元素结束。2、算法过程:举个例子:香港小姐选美大赛中,需要先从低到高进行排序,方便大家观看。测量后得到无需高度:初始数组:{163,173,157,164,162,159,177}1)起初是无序的数组:原数组:{163,173,157,164,162,159,177}2)遍历无序数组,找出数组中最小值,与数组中第
2020-06-07 13:41:04 196
原创 结构体
1 为什么要使用“结构”(结构体)需要表示一些复杂信息时,使用单纯的数据类型很不方便.比如:学生信息(学号,姓名,班级,电话,年龄)2 什么是“结构”结构,就是程序员自定义的一种“数据类型”是使用多个基本数据类型,或者其他结构,组合而成的一种新的“数据类型”3 结构的定义struct 结构名{ 成员类型 成员名; 成员类型 成员名;};struct student{...
2019-11-10 13:56:22 231
原创 枚举
1 枚举的概念枚举是c/c++语言中的一种基本数据类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天,夏天,秋天,冬天2 枚举类型的定义一般形式为:enum 枚举名{枚举元素1,枚举元素2,…};enum Season{spring,summer,autumn,wi...
2019-11-10 13:44:10 389
原创 const数据成员和const成员函数
const数据成员:const数据成员是只读数据,const数据成员只能在初始化列表里赋值,不能在函数内部赋值.const string bloodType;Human::Human():bloodType("未知"){ //1}Human::Human(int age, int salary,string bldType):bloodType(bldType){ //2}类...
2019-11-07 10:35:04 313
WCHBleLib Windows c/c++开发三方库
2024-03-05
C++分数类计算器,完美运行
2019-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人