自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (5)
  • 收藏
  • 关注

原创 C++ 11原子变量

原子作为长期最小的单位,在这里被定义为不可分割的最小操作,原子性也别定义为不可再分的操作,在C\C++ 中由于程序执行的非常的快,指令可能出现乱序执行的情况(不能保证指令执行的循序和编写程序循序的一致),有编译器的优化,有执行上的优化,总之是为了让程序执行更快导致的特性,这在单线程中几乎不会出现什么问题可以让程序飞快的执行,但是到了多线程的时代就会有问题,实际上就是线程同步上的问题,于是C++11(Java 在2004 年的java5就支持了C++晚了非常久)增加原子变量来实现原子操作。

2025-02-14 18:29:03 1044

原创 C++11 多线程 1

调用该方法以后就会放弃CPU资源 等待下一轮的CPU资源,主要作用是降低当前函数体的运行速率,放弃当前CPU资源让别的线程去使用CPU。将线程切换到就绪态,放开CPU资源,传递的参数是一个duration对象。休眠一个指定的时间节点。

2025-02-12 13:50:08 252

原创 C++11 时间日期库使用

...使用中需要传入两个参数_Rep: 周期数量 表示需要经历多少个周期时间_Period: 周期时间 表示一个周期时间为多长..._Num 分子_Den 分母单位是秒 按照默认 _Num = 1 _Den = 1 那就是一秒如果是表示一毫秒 那就将_Den = 1000 这样就表示1毫秒 其他形式同理。

2025-02-11 16:09:39 706

原创 C++11 常用特性总结3

【代码】C++11 常用特性总结3。

2025-02-06 15:49:55 141

原创 C++11 常用特性总结2

什么是左右值:一个表达式–> 左值 = 右值也就是在表达式左边的称之为左值在右边的称之为右值C++11 中新增了一个一个类型 && 右值引用 例如 int && 、double && 这衍生出来一些看上去很神奇的效果减少拷贝次数当对某个对象进行赋值操作的时候实际上创建流程是 先构造一个对应的对象 之后使用拷贝构造函数对构造的函数进行拷贝从而实现赋值操作扩展内容这个代码正常应该打印两次构造函数的内容,但是只会打印一次,因为C++ 11 自动对代码进行了优化使用了右值引用 理解不一定正确在模版中 T

2025-01-23 09:41:39 802

原创 C++11 常用特性总结1

C++ 11 新增特性总结

2025-01-17 15:33:06 1022

原创 系统架构师考试-各类技术对比

Redis和MemCache。关系数据库和NOSQL。

2024-10-29 16:13:29 166

原创 系统架构师备考记忆不太清楚的点-信息系统-需求分析

活动图 是一种特殊的状态图,活动图描述一个操作中要进行的各项活动那个的执行流程,同时也常用来描述一个操作中要进行的各项活动的执行流程。分别为函数过程(具体操作)---->程序过程(函数调用)--->程序段过程-->(功能实现)-->业务功能实现(领域级)(个人理解)循序图:是一种交互图强调对象之间消息发送的循序,同时显示对象之间的交互。结构级--包含程序分量之间相互依赖的关系,例如调用图、结构图、程序和数据结构。通信图:强调对象之间的存在的消息收发关系,和循序图的区别是不强调时间循序。

2024-10-09 17:01:39 1067 4

原创 Linux qt 无法搜索到usb摄像头

在Ubuntu(香橙派)中使用/usr/local/bin 里面的install_qt.sh 安装的qt 默认是没有安装 的qtmultimedia5-dev。可以正常编译程序但是不能用QCameraInfo::availableCameras()搜索到usb相机原因就是没有安装插件。使用apt-get 命令下载插件就可以正常使用。使用 apt-get 安装以后。

2024-06-17 09:33:38 558 2

原创 QTablewidge 标题左侧qss效果

设置表头效果 使用 QHeaderView::section但是左上角这一块没有作用到 使用下面qss解决QTableCornerButton::section{ background-color: #60669B;}

2022-04-26 13:14:58 519

原创 QListView 设置图标文字混合显示

Qt UI效果设置

2022-01-11 09:29:36 2259

原创 Qt label设置图片窗口以后拖动只能放大不能缩小解决

编写demo的时候发现用label显示图片然后重写 resizeEvent 只能放大不能缩小设置方式如下:void MainWindow::resizeEvent(QResizeEvent *event){// this->setMinimumSize(0,0); QPixmap pixmap1 = pixmap.scaled(ui->label->width(),ui->label->height(),Qt::IgnoreAspectRatio, Qt

2021-11-12 14:34:58 2712 3

原创 力扣 1996 游戏中弱角色的数量

学习到 哔哩哔哩黄歪歪的一种写法首先学习到的就是 std::sort() 如果直接给二维数组排序 则默认按照第一个来进行操作。class Solution {public: int numberOfWeakCharacters(vector<vector<int>>& nums) { sort(nums.begin(),nums.end()); reverse(nums.begin(),nums.end()); .

2021-09-07 11:04:29 242

原创 Gitee 在缩减仓库体积时候出现的异常

Gitee 在缩减仓库体积时候出现的异常使用命令获取大文件列表git rev-list --objects --all | grep -E `git verify-pack -v .git/objects/pack/*出现错误fatal: Cannot open existing pack file ‘.git/objects/pack/*.idx’检查这个文件夹确实没有发现这个文件使用命令git repack -d -l之后生成了这个文件 之后成功获取到了大文件列表这里我的大

2021-08-19 09:23:12 1103

原创 C++内存管理(1)

C++ 内存管理C++内存分配 一般来说C++ 操作内存用的是 new/ delete 实际最后最用调用的是malloc /free 调用层次如下 ![转自侯捷老师ppt](https://img-blog.csdnimg.cn/17390fe79cb24acb8878e1c78db5b1ca.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV

2021-08-03 17:32:20 122

原创 使用 SQLiteStudio 调试安卓数据库

这是连接成功的效果操作步骤第一步点击工具按钮 --->打开配置对话框第二步第三步这里用于保存 连接数据库的Jar包然后右击Jar文件,点击Add As Library后,在出现的弹出框点击确定。然后再主窗口中调用SQLiteStudioService.instance().start(this);实例化这个单例然后运行Android程序第四步点击添加数据库 选择 Android SQLite然后就可以看到...

2021-04-17 08:56:28 384

原创 452. 用最少数量的箭引爆气球

看到这个题的时候 就想到树状数组,首先 认为没有一个点有相交 这样结果就是 points 的size然后 统计区间中最大的值 每次减去这个值 最后就可以得到结果使用这个思路 最开始的的想法是没有问题的 第二步出错了,统计区间最大值的方式是错误的代码如下:#include <bits/stdc++.h>using namespace std;int maxn = 1e4 +5;class Solution {public: int findMinA...

2021-03-29 10:22:39 114

转载 Qt 自定义tablewidget(背景色,标题箭头)

/********QTableWidget*********/QHeaderView{ /*设置标题(包括垂直+水平的)*/ font-size: 19px; /*11榜*/ border: 1px solid rgb(255, 255, 255); /* border-bottom: 2px solid rgb(35, 100, 224); 下边框深蓝色*/ background: rgb(100, 188, 238...

2021-03-04 08:44:11 10390 2

原创 C++11多线程

这里总结一下C++11多线程的基本使用和技巧,也是个人对C++11中多线程的一些理解。需要掌握的预备知识std::move() 它唯一的功能是将一个左值强制转化为右值引用,继而可以通过右值引用使用该值std::ref() 传引用, 有些api的传递引用实际上是拷贝一个副本使用这个函数则可以保证一定是引用的目录C++11线程创建的方式1.函数传递方式2.lambda表达式3.重载运算符4.成员函数做为线程入口等待结束函数详解1.使用deta...

2021-02-21 20:44:37 11101 7

原创 设计模式学习记录

设计模式学习笔记面向对象基本设计原则依赖导致原则(DIP)高层模块不应该依赖于底层模块,两者都应该依赖于抽象如: 界面展示不应该依赖于内部实现类,应该依赖于整体抽象的抽象类抽象不应该依赖于实现细节,实现细节应该依赖于抽象抽象依赖于实现细节就会稳定容易出问题,拿出稳定部分抽象出来,总之要实现隔离变化。总的来说,底层模块的变更会直接影响到高层模块,如果每次改动的底层模块会让高层模块直接变的不稳定,所以来说需要尽量 的隔离变化,让高层模块不依赖于底层模块,这样复用高层模块的时候很简单也

2020-12-07 13:57:26 95

原创 vmware虚拟机共享文件夹显示不出来的解决办法

1、内核4.0以前的共享方法:mount -t vmhgfs .host:/ /mnt/hgfs2、内核4.0之后的共享方法vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other

2020-09-23 14:36:26 630

原创 94. 二叉树的中序遍历

原题连接首先知道什么是中序遍历中序遍历就是中间访问根节点即:访问左节点()访问根节点()访问右节点()对于非叶子节点(没有左右孩子节点的节点)每个点都可以说是一个根节点所以这里的访问根节点就可以理解是输出当前节点的值实现的方法有两种,维护一个栈1.添加根节点2.如果左边节点存在,添加左边的节点,不存在输出当前节点的值,然后添加右边的3.如果右侧节点不存在则输出栈顶值(上一个的左边)存在则执行第二步这样就可以解决这个问题下面是实现代码class

2020-09-14 17:22:04 373

原创 40. 组合总和 II

https://leetcode-cn.com/problems/combination-sum-ii/这一题就是很普通的递归回溯问题在于如何去重实际上只要每一层只能选择一次那么就不会有重复的(使用了这个数进行过往下一层递归以后都不能用这个数再去和下一层递归了)也就是排序然后判断一下就行class Solution {public: vector<vector<int>>ans; vector<int >temp; s...

2020-09-10 09:10:09 120

原创 347. 前 K 个高频元素

看到这个题首线就想到 将所有的数放在map里面问题在于怎么拿出来,想了很久都没想到,最后看了别人的,才知道用优先队列的方式复习一下优先队列的定义方式 :priority_queue<Type, Container, Functional>Type 就是数据类型,Container 就是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里面默认用的是vector),Functional 就是比较的方式,当需要用自定义的数..

2020-09-07 09:56:01 173

原创 Qt 实现虚拟键盘

利用重写LineEdit 然后监听鼠标点击事件,根据LineEdit 的选择控制是数字键盘还是英文数字混合键盘。实现方式非常的简单只需要遍历所有的按键然后绑定槽函数void keyboardNumDialog::init(){// this->setWindowFlags(Qt::FramelessWindowHint);// this->setWindowFlags(Qt::FramelessWindowHint | Qt::Dial...

2020-08-27 11:12:08 6849

原创 491. 递增子序列

题目链接https://leetcode-cn.com/problems/increasing-subsequences/又是没做出每日一题的一天这题总体来说是枚举所有子串,问题点在去重上贴出一个别人的代码class Solution {public: vector<int>t; void dfs(vector<vector<int>>&a,vector<int>&nums,int i) {..

2020-08-25 18:06:20 163

原创 vmware虚拟机共享文件夹显示不出来的解决办法

1、内核4.0以前的共享方法:mount -t vmhgfs .host:/ /mnt/hgfs2、内核4.0之后的共享方法vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other记录一下解决虚拟机文件不能查看的方法,比常规的重新安装工具好多太多...

2020-08-20 23:02:50 2411

原创 133. 克隆图

题目链接:https://leetcode-cn.com/problems/clone-graph/这题主要就是考察对领接表的理解难度其实不大,这里主要是学习到了两个STL一个是unordered_map相对于map 这个主要是内部是哈希表实现查找速度快于map。emplace_back 相对于push_back只会直接构造一次对象不会创建临时对象class Solution {public: Node* cloneGraph(Node* node).

2020-08-12 18:40:20 192

原创 415. 字符串相加

题目链接:https://leetcode-cn.com/problems/add-strings/这题非常的简单,只需要考虑三个问题长度一样的加分 长度不一样的加分 进位我是这样完成的,写的比较长这里主要是提供看简洁的写法第二份代码,写的非常优美。#include <bits/stdc++.h>using namespace std;class Solution {public: string addStrings(string num1, strin

2020-08-03 09:41:36 122

原创 343. 整数拆分

题目链接https://leetcode-cn.com/problems/integer-break/首先根据题目很容易的到的一个点是 要使乘积最大能选择的 数字只能是1 2 3 ,之后选择的任何一个数都可以拆分成这三个的乘积所以只要选这三个就可以。 然后如何...

2020-07-30 10:04:02 160

原创 WinCe 中程序异常报错 汇总

Exception 'Raised Exception' (-1): 数组越界Exception 'Data Abort' (4): 栈出问题了/空指针/访问的数据块无效了(如内存已经回收无效了)Exception 'Prefetch Abort' (3): 空指针...

2020-03-31 08:21:57 332

原创 Qt 常用控件和属性

SpinBox 数值显示框可显示double类型的qdoubleSpinBoxDial表盘式数值输入组件Qslider 滑动条有垂直水平两种ProgressBarQLCDNumber可以通过函数digitCount()设置显示的数的位数smallDecimalPoint() 是否有小数点 小数点也算一位mode() 显示的进...

2020-02-19 18:27:52 2574

原创 Qt常用QString API

QString 将字符串转为数值int 就是直接toInt 其他的也是这样,默认基数为10(设置为其他基数则可实现进制转换)将数值转换为字符串QString::number(),可以用这个函数实现保留小数等操作 (QString::number(total,'f',2))还有几个函数同样可以QString.asprintf("%.2f",total)QStri...

2020-02-19 16:53:33 381

原创 VS for Qt 解决乱码问题

首先就是遇到一个问题 有中文的地方在编译的时候会提示常亮中有换行符必须要另存为 带BOM格式的UTF-8才能正常编译我用的是notepad++转换的这样可以解决编译问题但是会出现问题中文显示乱码。这里参考了https://blog.youkuaiyun.com/10km/article/details/80203286这个博客的方法在属性页面配置附加选项添加一个/utf-8在下...

2019-11-11 14:10:23 356 1

原创 VC 共享内存(持续收发数据)

VC 共享内存

2019-10-29 10:23:29 1264

原创 VC 播放声音

#include <stdio.h>#include <windows.h>/*SND_APPLICATION用应用程序指定的关联来播放声音。SND_ALIASpszSound参数指定了注册表或WIN.INI中的系统事件的别名。SND_ALIAS_IDpszSound参数指定了预定义的声音标识符。SND_ASYNC用异步方式播放声音,PlaySo...

2019-10-28 09:36:56 401

转载 QtCreator使用技巧

文章转载自涛哥的博客很实用留下以后用QtCreator折叠全部代码折叠全部代码,支持C++和Qml。操作方式为:光标焦点放在代码文本中,之后 菜单栏: 编辑->Advanced->Toggle Fold All这个功能没有快捷键QtCreator属性生成经常需要给自定义的QObject类写一些属性,QtCreator是可以自动生成get、set函数以及cha...

2019-10-22 11:10:39 1826 2

原创 VC (WinCE 消息队列)

WinCE 下提供了消息队列机制首先是创建消息队列的方法创建消息队列需要传入配置项 使用MSGQUEUEOPTIONS 结构体来进行配置 MSGQUEUEOPTIONS option; option.dwSize = sizeof(MSGQUEUEOPTIONS);//结构体大小 option.dwMaxMessages = 100; //最大消息数 o...

2019-10-22 10:58:20 329

原创 VC 信号量

使用函数CreateEvent创建一个事件HANDLE CreateEvent(   LPSECURITY_ATTRIBUTES lpEventAttributes, // SD 一般为空   BOOL bManualReset, // reset t...

2019-10-21 09:11:24 1091

原创 VC 下临界区变量(互斥锁)

VC 下保证原子性的操作这里临界区控制结构体操作都是基于这个结构体的typedef struct CRITICAL_SECTION { unsigned int LockCount; /* Nesting count on critical section */ HANDLE OwnerThread; /* Handle of own...

2019-10-17 17:16:43 572

Qt5实现的虚拟键盘通过重写LineEdit 实现

Qt5实现的虚拟键盘通过重写LineEdit 实现,效果和实现方式可以看https://blog.youkuaiyun.com/weixin_42193704/article/details/108255663

2020-08-27

ESP8266串口WIFI 无线模块 WIFI远距离无线模块 穿墙王.zip

ESP8266串口WIFI 无线模块 WIFI远距离无线模块,开发工具,开发文档。封装信息,电路图等工具和文件

2019-11-21

基于C语言的五子棋(带人机对战)

基于控制台的C语言实现的控制台五子棋,带人机对战,玩家1操控使用 wasd j(确认下子) 玩家二使用上下左右 1确定下子 返回可按esc 老项目可能需要自己将地图修改下 人机对战 实现方式见代码

2018-06-05

基于C++控制台的俄罗斯方块

使用vs开发的俄罗斯方块,使用简单的winAPI实现在控制台下的图形 化俄罗斯方块

2018-06-02

超级完全的USB转串口驱动

含大量USB转串口驱动包含win7安装解决方案,Windows10 安装解决方案

2018-06-02

空空如也

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

TA关注的人

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