![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
苦茶Fighting
这个作者很懒,什么都没留下…
展开
-
C++ boost库分类
按照实现的功能,Boost可为大致归入以下20个分类,在下面的分类中,有些库同时归入几种类别。文章目录字符串和文本处理库容器库迭代器库算法库函数对象和高阶编程库泛型编程库模板元编程预处理元编程库并发编程库数学和数字库排错和测试库数据结构库图像处理库输入输出库跨语言混合编程库内存管理库解析库编程接口库综合类库编译器问题的变通方案库字符串和文本处理库a) Conversion库:对C++类型转换的增强,提供更强的类型安全转换、更高效的类型安全保护、进行范围检查的数值转换和词法转换。b) Format库:原创 2021-05-31 17:14:41 · 302 阅读 · 0 评论 -
设计模式简述
文章目录创建型工厂模式抽象工厂模式单例模式建造者模式原型模式结构型桥接模式适配器模式装饰模式组合模式享元模式外观模式代理模式行为型模板模式策略模式状态模式观察者模式备忘录模式中介模式命令模式访问者模式职责链模式迭代器模式解释器模式创建型工厂模式定义创建对象的接口,封装了对象的创建使得具体化类的工作延迟到子类中第一个问题,声明一个创建对象的接口,封装了对象的创建过程。第二个问题,提供...原创 2019-10-09 09:50:12 · 144 阅读 · 0 评论 -
设计模式
设计模式观察者模式观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都要得到通知并自动更新。观察者模式从根本上讲必须包含两个角色:观察者和被观察对象。被观察对象自身应该包含一个容器来存放观察者对象,当被观察者自身发生改变时通知容器内所有的观察者对象自动更新。观察者对象可以注册到被观察者的中,完成注册后可以检测被观察者的变化,接收被观察者的...原创 2019-10-08 11:09:18 · 116 阅读 · 0 评论 -
十大排序算法 C++实现
十大排序算法冒泡排序选择排序插入排序桶排序计数排序基数排序快速排序归并排序基尔排序堆排序// ConsoleApplication16.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <vector>#include <algorithm>#include <iostream&...原创 2019-05-17 01:32:28 · 361 阅读 · 0 评论 -
C++使用全局变量的extern方式
def.h中声明extern int m;def.cpp中int m;两个文件必须要有在主程序中添加头文件,include “def.h”后,就可以直接使用m变量。原创 2018-11-19 14:13:32 · 2719 阅读 · 0 评论 -
STL中vector、set容器元素的清空和内存的释放
元素的清空和内存的释放在STL中,经常会使用到vector容器,而且是多次清空,多次存放数据,使用clear()只是清空元素,并不释放内存,可以使用swap()实现元素的清空和内存的释放。vector&lt;int&gt;().swap(MyObject)可以清空元素,释放内存。而对于set关联式容器,也同样适用(亲测可以)。...原创 2018-09-13 10:04:34 · 8396 阅读 · 1 评论 -
Qt中使用串口发送十六进制指令
使用Qt的serial.write()发送十六进制指令比如需要发送01 02 fa 32使用write()函数发送字节数组QByteArrayQByteArray array;array[0] = 0x01;array[1] = 0x02;array[2] = 0xfa;array[3] = 0x32;serial.write(array);...原创 2018-09-17 17:09:49 · 8873 阅读 · 1 评论 -
Qt中通过信号和槽在子线程和主线程中进行数据传递
QT中两个线程之间进行自定义类型数据传递两个线程中进行数据传递时,传递的数据放到队列中(queue),所以在这个过程中,需要在传递前将数据拷贝、存储到队列中;为了存储这些参数,Qt需要construct、destruct、copy这些对象,为了让Qt知道怎样去做这些事情,参数类型需要进行注册。详细步骤分为三步:加入头文件#include <QMetaType>声明要传递的参...原创 2018-09-12 16:26:05 · 4533 阅读 · 1 评论 -
QOpenGL中的几个类
QOpenGLBuffer类在使用前,构造函数处可指定Buffer类型。默认为VertexBuffer。在使用之前先要create(),之后bind到当前的OpenGL context上。使用allocate()分配存储空间,同时可以用某个数据来初始化分配的空间。QOpenGLShader类可以在构造函数的地方选择shader的类型。QOpenGLShaderProgr...原创 2018-08-07 14:37:52 · 1868 阅读 · 0 评论 -
QT中Q_OBJECT
在QT中,使用信号(signal)和槽(slot)的机制时,需要加上Q_OBJECT。只有继承了QObeject类,才能具有信号和槽的能力。原创 2018-08-10 11:55:16 · 435 阅读 · 0 评论 -
QOpenGLWidget类讲解
QOpenGLWidget类detailed descriptionQOpenGLWidget类是用于渲染OpenGL图形。除了可以选择使用QPainter和标准的OpenGL渲染图形,QOpenGLWidget类提供了在Qt应用程序中显示OpenGL图形的功能。它使用起来非常简单:新建类继承于QOpenGLWidget,使用方法就像继承于QWidget类子类一样。QOpenGLWid...原创 2018-08-03 19:37:47 · 31996 阅读 · 11 评论 -
C语言中的scanf()和printf()函数
C语言中的输入、输出函数,在C++中一直使用cin、cout,对scanf和printf的使用不太熟悉,现做以下整理。scanf()函数详解函数名:scanf 功能:执行格式化输入 用法:int scanf(char *format,[argument,…]); scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘)读取输入的信息。可以读入任何固有类型的数据并自动把数值...原创 2018-08-06 08:45:09 · 33943 阅读 · 2 评论 -
C语言中的关键字
C语言中的关键字数据类型关键字(1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int: 声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) s...原创 2018-08-05 19:24:34 · 2456 阅读 · 0 评论 -
LeetCode无重复字符的最长字串
无重复字符的最长子串给定一个字符串,找出不含有重复字符的最长子串的长度。示例给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。给定 "pwwkew" ,最长子串是 "wke" ,长度是原创 2018-08-04 15:25:17 · 336 阅读 · 0 评论 -
LeetCode两数之和
两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解决方案class Solution {public: vector&...原创 2018-08-04 13:34:51 · 139 阅读 · 0 评论 -
LeetCode两数相加
两数相加给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例输入:(2 -&amp;amp;amp;amp;gt; 4 -&amp;amp;amp;amp;gt; 3) + (5 -&amp;amp;amp;amp;gt; 6 -&amp;amp;amp;amp;gt; 4)输出:7 -&am原创 2018-08-04 13:23:16 · 137 阅读 · 0 评论