- 博客(20)
- 资源 (20)
- 收藏
- 关注
原创 STL仿函数与函数对象浅析
例如,一个很简单问题,求两个数中的较大数,用C++代码很好写,如下:int Max(const int num1, const int num2){ return num1 >= num2 ? num1 : num2;} 对于这种问题,如果你想把代码写的让人捉摸不透,怎么搞呢?那么就用STL仿函数functor来实现,也可以称之为函数对象,在struct或class内重载()操作符来实现,那么上面的代码可以改写成下面这种形式:struct Max...
2020-05-17 22:49:41 311
原创 STL multiset使用说明与代码演示
STL multiset特点 (1)数据有序,可重复 (2)删除元素时,相同的所有元素都会被删掉 使用时需要包含头文件<set>. 代码:#include <iostream>#include <set>using namespace std;//输出multisetvoid out(const multiset<int> obj){ for (auto item ...
2020-05-17 22:14:03 241
原创 C++增强for循环
for循环是常见的代码语句,常规的for循环如下#include <iostream>using namespace std;int main(){ int array[] = { 1,1,2,3,5,8 }; //常规for循环 for (int i = 0; i < sizeof(array) / sizeof(array[0]); i++) { cout << array[i] << " "; } cou...
2020-05-17 19:07:58 12712 1
原创 C++内存泄漏具体定位到某一行代码
VLD工具可以用来检查VS C++程序的内存泄露。 VLD官网:https://kinddragon.github.io/vld/ 官网不方便下载的,可以用我的链接:https://pan.baidu.com/s/1-SiP9bYCfk67aUmKIOUwpQ 提取码:dvaw 下载安装VLD后会有 include, lib, bin,vlc.ini等文件。把include, lib, bin添加到程序中,如果是C++老鸟,应该不难。然后在代...
2020-05-15 22:41:04 1364
原创 C++线程池同步方法
在多个线程同时对某个变量操作时,会发生内存抢占,以至于程序出现不可预知的结果,为了说明这种现象,请看下面的代码:#include <iostream>#include <Windows.h>using namespace std;LONG g_count = 0;void WINAPI ThreadFunc(PTP_CALLBACK_INSTANCE pInstance, void *p, PTP_WORK pWork){ for (int i = 0; ..
2020-05-15 15:16:51 585
原创 C++ windows线程池简介
windows操作系统由C,C++,C#等语言开发,为程序员C++/C#程序员提供了很多底层API, 线程池是windows提供的一大便利编程技术。当然,也可以自己写个线程池。 windows API自带的线程池,主要四种用法,如下图所示: 这种功能都需要一系列的API来完成,以及在项目开发时需要选择性的使用。利用线程池,就不需要用CreateThread创建线程;不需要管理自己线程;Windows封装好的线程池,效率高,性能优越。...
2020-05-15 00:26:31 945
原创 C++ sqlite基本操作代码示例
在sqlitebrowser中创建一个数据库,添加一些数据。如下: 用vs2017创建C++控制台项目,配置好sqlite sdk,.h, .lib, .dll, 即可进项编程了。C++代码:/*sqlite数据库基本使用*/#include <iostream>#include "sqlite3.h"#include <Windows.h>#pragma comment(lib, "sqlite3.lib")using name...
2020-05-11 21:24:27 721
原创 VS2017编译sqlite3生成lib,dll
sqlite官网:https://www.sqlite.org/index.html sqlite3源码及dll下载链接:https://www.sqlite.org/download.html 官网只提供了dll, 没有lib, 需要我们自己编译。vs编译sqlite的方法有两种,一种是建立工程源码编译,另一种是命令行编译,下面分别介绍。1 命令行编译 把路径 C:\Program Files (x86)\Microsoft Visual ...
2020-05-11 19:43:26 1016
原创 C++ tinyxml2解析xml文件【详细代码】
tinyxml2官网:http://www.grinninglizard.com/tinyxml2/index.html github下载链接:https://github.com/leethomason/tinyxml2 源码文件就两个, .h .cpp, 可以直接放到项目中使用,也可以编译成lib或者dll在程序中引用。下面介绍如果编译成dll: 在tinyxml2目录有vs的解决方案文件 上面显示的是VS2010的项目,我用vs...
2020-05-10 23:01:10 1138
原创 完美解决win10安装svn出现2503,2502错误
如果win10是重装的,或者是没有管理员权限,安装SVN时就会出现2503,2502的错误,导致无法安装svn, 具体解决办法如下: 右键win10左下角开始,打开红色框的选项。 输入msiexec /package"你的msi文件的路径",然后就会弹出安装步骤,这样就可以安装了。例如下面我是先安装了svn小乌龟,再安装了汉化包。...
2020-05-07 23:10:53 1746 1
原创 QML入门教程(10) : QML圆形延时按钮
QML提供了延时按钮DelayButton,我们可以对其自定义,如下图: 代码import QtQuick 2.12import QtQuick.Window 2.12import QtQuick.Controls 2.5Window { visible: true width: 640 height: 480 titl...
2020-05-04 00:41:21 2550
原创 QML入门教程(8) : 自定义CheckBox
QML默认的CheckBox是打√,可以自定义实现如下效果代码import QtQuick 2.12import QtQuick.Window 2.12import QtQuick.Controls 2.5Window { visible: true width: 640 height: 480 title: qsTr("自定义CheckBox...
2020-05-04 00:28:44 2237 1
原创 QML入门教程(7):复选框CheckBox
QML的复选框是CheckBox,使用代码如下:import QtQuick 2.12import QtQuick.Window 2.12import QtQuick.Controls 2.5import QtQuick.Layouts 1.12Window { visible: true width: 640 height: 480 title: ...
2020-05-04 00:19:07 4465
原创 QML入门教程(9) : QML双向滑动控件RangeSlider
例如下面的控件可以双向滑动,该控件在QML中叫RangeSlider demo代码如下:import QtQuick 2.12import QtQuick.Window 2.12import QtQuick.Controls 2.5Window { visible: true width: 640 height: 480 ...
2020-05-04 00:13:57 2402
原创 QML入门教程(6):单选按钮RadioButton的用法及自定义
一RadioButton的简单用法QML的单选按钮是RadioButton,例如下面的界面实现代码如下:RadioButton { id:rb1 checked: true text: qsTr("First")} RadioButton { id:rb2 text: qsTr("Second")}RadioButton { id:rb...
2020-05-03 23:52:16 7688
原创 h264格式说明与分析
H264是一种视频编码标准,用ffmpeg工具可以将MP4视频转码为h264,例如下面的命令:ffmpeg -i 1.mp4 -c:v copy -bsf:v h264_mp4toannexb -an out.h264 h264的功能分为两层,视频编码层(VCL)和网络提取层(NAL), 我们常关注网络提取层(NAL),H264在网...
2020-05-03 22:49:47 877
原创 C# FFmpeg开发说明
FFmpeg是用C开发的,如果C#要用,可以调用FFmpeg的dll, 但是这样比较复杂,FFmpeg的sdk有很多函数,C#调用C还涉及到数据类型转换,难度很大,不过FFmpeg有C#版本FFmpeg.AutoGen,在项目中可以直接导入使用。 FFmpeg.AutoGen 项目源码https://github.com/Ruslan-B/FFmpeg.Auto...
2020-05-01 17:30:57 6078 1
原创 C#入门(4):for、foreach、var
C#有增强for循环“foreach”, 要配合var关键字,var作用是推断类型,声明的时候必须赋值,类似于C++的auto关键字。示例代码如下: int[] array = { 12, 23, 34, 45 }; //普通for for(int i = 0; i < array.Length; i++) { ...
2020-05-01 16:17:15 2281 1
原创 C#入门(3):类方法的定义、out、ref、params
C#是纯面向对象的,和C++有点不同,比如C#的方法声明格式如下:[public] static 返回值类型 方法名字(参数列表){ 方法体}public 访问修饰符,可以省略比C++多了个修饰符,而且都得用static修饰, 其它的和C++基本一致。C#有类似于C++的引用传值,用out和ref可以实现(1)out修饰形参的用法using System;...
2020-05-01 16:16:42 669 1
C++ QMainWindow无边框窗口自定义标题栏可拖拽移动拉伸改变窗口大小
2024-04-23
Qt蓝牙串口源码支持十六进制发送、字符发送、定时发送
2022-02-22
c++ PImpl实现机制
2021-09-15
很全的 Qt qss
2020-09-29
jsoncpp_sdk_x64.rar
2020-04-06
支持向量机通俗导论(理解SVM的三层境界)PDF
2018-04-13
C# TCP网络通信示例:多人聊天发文件
2018-04-02
C++/OpenCV2.4.9 数字精确识别源码
2017-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人