自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 数据类型转换:wstring和string

wstring转换string。string转wstring。

2022-08-14 21:01:25 2225

原创 boost信号

先上代码类似于Qt的信号和槽函数通过connect方式绑定与调用,需要注意的是connect不会检测该信号槽是否已经被绑定。

2022-07-19 23:23:11 207

原创 C++ ini文件

QT和boost读取ini文件

2022-07-08 23:23:38 697

原创 Boost 时间库

参考链接参考链接时间长度初始化创建时间长度,构造函数中直接传入时分秒和微秒值这里传入的时分秒微秒的值并不一定要在各自的限度内,超出限度的时间会自动进位但需要注意的是,这里传入的值不能存在负值可以通过传入字符串获取时间长度,字符串中时分秒微秒必须是冒号分割的需要注意的是,这里可以传入负数时间长度 加法时间长度加法,需要注意的是,这里可以传入负数时间长度 除法时间长度 乘法时间长度 减法获取参数获取小时获取分钟获取秒数获取总秒数获取总毫秒数获取总微秒数时间精度

2022-06-30 22:43:28 1126

原创 C++ Lambda 表达式

C++ lambda表达式测试

2022-06-23 23:20:25 203

原创 C++ map

C++ map基本用法

2022-06-19 20:33:05 247

原创 C++队列

C++ 队列

2022-06-14 23:58:55 779

原创 C++ Set

C++ Set的初步用法

2022-06-12 14:01:37 718

原创 C++ List

List的常用算法

2022-06-09 23:12:45 102

原创 网络字节序转换

windows接口将一个无符号长整型数从主机字节序转换成网络字节序uint32_t htonl(uint32_t hostlong); //uint16_t htons(uint16_t hostshort); //uint32_t ntohl(uint32_t netlong); //uint16_t ntohs(uint16_t netshort); //将一个无符号短整型数从主机字节序转换成网络字节序在这里插入代码片将一个无符号长整型数从网络字节序转换成主机字节序将一个无

2022-06-08 00:49:20 1413

原创 C++ Vector使用

C++ Vector使用初始化传入 a[0]开始到a[6]void CoutVector(std::vector<int> AVec){ for (auto it = AVec.begin(); it != AVec.end(); it++) { std::cout << *it << std::endl; }} int a[] = { 1,2,3,4,5,6,7,8,9 }; std::vector<int> AVec(a,a+7

2022-05-19 17:40:28 343

原创 个人理解-单向链表

数据结构-单向链表链表,可以理解为一个铁链,从铁链开始出,每个链的关节处都会关联下一个关节;而链表类似,便是每一个链表的节点处在存储当前数据指针外,还会在存储一个下一个节点的指针;链表节点结构体class SinglyLinkedPoint{public: SinglyLinkedPoint(); ~SinglyLinkedPoint();public: void * _PointData; SinglyLinkedPoint* _NextPointPtr;};节点类CPP

2021-12-19 22:21:28 287

原创 数据结构-动态数组

数据结构-动态数组在C中所有的数组大小都是固定的,在未知数据大小的情况下不方便提前设置数组大小,所以采用一种动态数组的方式;个人感觉:所谓动态数组便是使用2级指针,并且使用这个2级指针所存储的空间充当数组去存储数据的指针,并且不断的申请与析构,拷贝复制去满足存储未知的数据;先上使用C++封装的动态数组代码头文件:class DynamicClass{public: DynamicClass(); ~DynamicClass(); //创建动态数组 参数为需要传入的动态数组大小 voi

2021-12-17 23:52:16 1446

原创 插入排序-个人理解

排序算法-插入排序代码 int a[6] = { 1, 11, 4, 2, 5, 6 }; for (int i = 1; i < 6; i++)//第一个数据不用插入,从第二个数据开始 { if (a[i] < a[i - 1])//需要插入 { int temp2 = a[i];//暂存当前要插入的值 int j; for (j = i - 1; j >= 0 && a[j] > temp2; j--)//将当前值前面的值依次后移

2021-12-09 15:12:36 595

原创 冒泡算法个人理解

排序算法-冒泡排序代码int a[8] = { 80, 2, 3, 24, 34, 90, 32, 43}; for (int Z = 0; Z < 8; Z++) //比较n-1轮 { std::cout << a[Z] << " "; } std::cout << std::endl; for (int i = 0; i < 8 - 1; i++) //比较n-1轮 { for (int A = 0; A &

2021-12-08 23:59:37 483

原创 简单排序-个人理解

排序算法-简单排序示例代码 int a[6] = { 11, 4, 2, 5, 6, 1 }; int i, j, temp = 0; for (i = 0; i < 6; i++) { for (j = i + 1; j < 6; j++)//逐个遍历i后面的数 { if (a[j] < a[i])//从小到大排列,如果有比i还小的数,则交换i和j的位置 { temp = a[j]; a[j] = a[i]; a[i] = temp;

2021-12-08 23:14:48 657

原创 桥接模式

原文链接1原文链接2桥接模式是指将代码的实现部分与抽象部分进行分离使它们都可以独立地变化。将抽象(Abstraction)与实现分离,使得二者可以独立地变化。也就是说桥接模式的实现至少都需要两个抽象类与实现类,同时实现类去完成抽象类中的方法操作,同时在一个抽象类或者其对应的实现类中去维护另一个抽象类与实现类的对象或者指针;以手机和操作软件为例:不同的手机品牌都需要通讯录,而如果每一个通讯里都去继承该手机品牌完成通讯录的实现需要进行很多的实现,而如果在手机品牌中维护一个通讯录的基类,则可以减少代码的编写量

2021-01-19 19:47:32 82

原创 适配器模式

原文链接适配器模式是指当存在A和B两个类时,B类的接口不同于A,但又希望在调用时与A相同的代码同时可以调用B的代码;便可以采用适配器模式,是一种对于已经存在的类的补救办法,事项两个类的融合;因此构造器的实现至少要具备三个类,已经有的类A、B,同时要新写一个类C用于完成B接口到A接口的转化;#include <iostream>#include <string>class ClassA{public: ClassA(){}; ~ClassA(){}; virtual

2021-01-05 16:02:45 66

原创 构造者模式

原文链接构造者模式是指一个由多个简单的对象一起构造为一个复杂的对象,使得在对象的创建时可以由一个相同的流程创造出多个不同的对象进行使用;以汽车为例:暂时将汽车的组成分为:钢材、发动机、玻璃和座椅;当我们构建不同品牌的汽车时只需要输入该汽车的组成部分的相关标识即可完成对该品牌汽车的组装;同时也也可以获取多个汽车品牌的汽车对象;//汽车组成代码#include <iostream>#include<string>//组成基类class ZuChengClass{publ

2021-01-05 15:10:03 94

原创 工厂模式整理

工厂模式原文参考1原文参考2所谓工厂便是用于生产,在工厂模式中便是用于一个或者多个判断条件用于产生对象的方法,采用工厂模式可以创建多个基于一个父类的子类对象,返回父类对象用于使用;工厂模式的实现方式可分别简单工厂模式、工厂方法模式、抽象工厂模式;简单工厂模式实现:简单工厂模式组成:工厂类:固定接口,根据条件产生子类指针返回父类指针产品的公用父类:所有产品需要集成该父类产品的具体类(具体类需要集成自公用父类):产品的具体实现产品父类:头文件:class ProductFather{

2020-12-22 20:28:24 121

原创 单例模式

C++单例模式整体文章参考单例模式的目的是为某个类提供全局的唯一访问点,也就是说全局只有一处可以进行该类的初始化,所以在编写该类时需要将该类的构造和析构函数进行private;在该类中创建一个该类的静态对象与获取该对象的静态函数;当在其他地方在用该类进行初始化时,便会初始化失败;懒汉模式:懒汉模式的区别在于使用时在创造,但该方式需要考虑线程安全//头文件实现class CInstanceClass{public: static CInstanceClass * Instance();pr

2020-12-21 16:31:56 112

原创 std::cout输出

std::cout输出十进制,十六进制,八进制和起始地址的方法 int i = 100; std::cout <<"十六进制" << std::hex << i << std::endl; std::cout << "八进制" << std::oct << i << std::endl; std...

2020-02-25 12:30:58 1991

原创 观察者模式个人理解

个人理解:(按照个人理解,重新将各个组成重新命名)观察者模式组成:数据发放者:管理所有要接受系统事件的数据处理单元,完成数据发放和成员的添加移除;数据处理单元基类:纯虚类,定义数据处理者需要具备的函数方法,使得数据发放者可以在掉用时统一掉用,完成数据处理数据处理单元:具备共同的基类和完成系统事件的统一数据处理,如果该类直接继承的不是数据处理基类,则需要在实现过程中掉用父类的函数,避免无效...

2020-02-20 12:20:00 124

原创 判断程序是否启动

QSharedMemory signal(程序名称字符串)if(!signal.create(1))程序已经启动

2020-01-07 18:54:44 236

原创 qt设置显示中文

Qt4.7把这段文字加入到main函数中,可解决中文显示乱码问题。

2020-01-07 14:42:51 1947 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除