
C/C++
HOLD ON!
莫见长安行乐处,空令岁月易蹉跎。
展开
-
windows的消息机制总结
windows的消息机制总结BridgeMaDOS靠过程来驱动,而windows靠消息驱动。MFC/QT是一个广泛使用的变成类库,对windows的消息机制进行了很好的封装。1、消息的概念:消息是指windows操作系统发给应用程序的一个通告,告诉程序某个特定的事件发生了。比如用户点击鼠标,会引发相关的消息,并交给相应的程序去处理。最终处理消息的是应用程序的窗口函数,如果程序不负责处理的话,系统会作出默认的处理。从数据结构的角度来说,消息是一个结构体,包含了消息的类型标识符以及其他的转载 2020-10-11 19:38:37 · 217 阅读 · 0 评论 -
Qtchart教程
Qtchart教程ZCY812760311Qtchart教程由于最近工程需要将单片机数据显示,Qt自己画太麻烦,查到Qt自带chart模块,这样可以省不少时间,因此记录一下使用过程。模块添加 在.pro文件中添加:QT += charts 引用 在mainwindow.cpp中添加:#include <QtCharts>using namespace QtCharts;1 2使用 在构造函数中添加:QChart *chart = new QChart(转载 2020-10-11 19:37:29 · 2148 阅读 · 0 评论 -
通俗易懂的socket select模型讲解
通俗易懂的socket select模型讲解FFFF...ireCore前面一篇介绍了服务器端使用多线程的方式来处理多个客户端的请求的,但是当客户端数量增多时线程数量会急剧增加,导致消耗大量的资源。于是就引出了服务器端的一种新的模型。1. 阻塞与非阻塞首先介绍几个基本的概念。阻塞方式( block ),顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,假如事件没有发生,进程或线程就被阻塞,函数不能立即返回。非阻塞方式( non-block ),就是进程或线程执.转载 2020-10-09 08:44:03 · 1074 阅读 · 0 评论 -
C++ map 和 multimap
C++ map 和 multimaphttps://www.cnblogs.com/wintersong/p/5164298.html一、 map头文件 #include<map>1)map的定义:map<键数据类型,值数据类型> m;或者typedef map<数据类型,值数据类型> M;M m;2)元素的插入map<int,int> m;最常用的 m[key]=value; //m[1]=2;m....转载 2020-09-25 08:55:45 · 456 阅读 · 0 评论 -
C++ 地址和指针
C++ 地址和指针在选择中迷失自我C++ 地址和指针开发工具与关键技术:C++、VisualStudio作者:何任贤撰写时间:2019年04月10日1 2 3C++的地址并不是我们日常生活中的地址,那么它是什么呢,它是指我们内存中地址,就内存的位置,我们C++中的变量,常量都是有自己地址的,不过只有有标识的才有地址,下面我们输出一下常量和变量的地址。1#includeusing namespace std;void main(){const int a = .转载 2020-09-03 21:31:25 · 2454 阅读 · 0 评论 -
实现QT与HTML页面通信
实现QT与HTML页面通信liuyez1231.前言最近,C++和WEB本地混合应用开发模式逐渐流行起来,个人也认为标记语言描述的界面是界面开发的一个发展趋势。WPF、Java FX,当然也少不了Html。基于Html的界面在开发效率,可移植性上都十分有优势,所以也被很多程序采用随着HTML5技术风生水起,Qt开发团队用近一年的时间开发了一个全新的基于Chromium的浏览器引擎Qt WebEngine,以支持面向未来的Hybrid应用开发,并完全支持桌面和嵌入式平台。此外,Qt Web..转载 2020-08-15 08:16:41 · 1282 阅读 · 0 评论 -
Qt 三种实时时频控件的简易方案
Qt 三种实时时频控件的简易方案丁劲犇Qt尽管非常强大,但对时频分析的控件支持不是很好。以前主要靠Qwt的Spectrogram来做,但眼瞅着Qt Charts 开源后,Qwt的更新越来越少,真的怕那天它凉凉了。Qt Charts 美工要比Qwt更加摩登,可是显然背后的行业背景不是信号处理,其距离数据分析更进一步(股票啦、人口啦等等),支持二维时频不是很好。经过一段时间尝试,找到了至少三种办法,这里做一个记录。1 使用 Qt Data Visualization这是最简单的方法,参照例子Q.转载 2020-08-14 11:17:46 · 1214 阅读 · 0 评论 -
QWebEngine-基于chromium内核的浏览器框架
QWebEngine-基于chromium内核的浏览器框架丁劲犇近期,因为同学所托,稍微涉足了一下并不熟悉的Web浏览器这一块。由于之前用过Qt Webkit,便准备动手试试看,能不能在网页中实现自动填表。自动填表的实现方法挺多,有基于JS的,基于IE OLE的,还有直接模拟鼠标、键盘操作的。论实现的简单程度,还是JS比较方便。之前QtWebkit中即可直接调用JS脚本,结果发现,Qt不知道什么时候,就把QWebKit从官方仓库中移出了。给的解释是“需要一个更现代、更高性能,最先进的Web浏览器转载 2020-08-14 09:39:16 · 2507 阅读 · 0 评论 -
C++的三种实例化对象方式
C++的三种实例化对象方式2019-05-04 19:15:43d89538239阅读数 385一、隐式创建class CEmployee{private:int age;int id;public:CEmployee(){cout << "这是构造函数" << endl;}CEmployee(int id){this->id...转载 2019-10-10 09:00:53 · 2994 阅读 · 0 评论 -
C++函数模板声明和实现
C++函数模板声明和实现重载函数使编程变得方便,因为对于执行类似操作的一组函数,只要记住一个函数名称即可。但是,每个函数都必须单独编写。例如,来看以下重载的 square 求平方函数:int square(int number) { return number * number; } double square(double number) { return number * number; }这两个函数之间的唯一区别是它们的返回值及其形参的数据类型。在这种情况下,编写函数.转载 2020-07-20 14:26:18 · 1217 阅读 · 2 评论 -
C++友元函数和友元类(C++ friend)详解
C++友元函数和友元类(C++ friend)详解私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦。C++是从结构化的C语言发展而来的,需要照顾结构化设计程序员的习惯,所以在对私有成员可访问范围的问题上不可限制太死。C++ 设计者认为, 如果有的程序员真的非常怕麻烦,就是想在类的成员函数外部直接访问对象的私有成员,那还是做一点妥协以满足他们的愿望为好,这也算..转载 2020-07-09 13:10:14 · 594 阅读 · 0 评论 -
C++-一级指针-野指针
一级指针-野指针三只小熊66 2016-12-04 21:12:28 199 收藏展开一级基础指针的使用基础使用#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char *p = NULL;//一级指针 p = (char *)malloc(100 * sizeof(char...转载 2020-05-21 08:17:11 · 481 阅读 · 0 评论 -
Windows下Socket网络通信TCP传输Client端的C/C++实现详解
Windows下Socket网络通信TCP传输Client端的C/C++实现详解Hikers、Wan展开前言这几日在做有关网络通信的socket编程大作业,特此记录。先写TCP,这篇记录Windows上Client端的,下篇写Linux上Server端的。代码#define _CRT_SECURE_NO_WARNINGS#include <winsock2.h>#pragma comment(lib, "WS2_32")#include <iostream>#转载 2020-05-12 08:30:30 · 1366 阅读 · 0 评论 -
【AppGameKit】想要使用c++制作游戏的初学者,造多个飞机
【AppGameKit】想要使用c++制作游戏的初学者,造多个飞机程序鸡展开文章目录资源管理类结构加载图片物体类Object.hObject.cpp角色类Actor.hActor.cpp飞机类Plane.hPlane.cppTM类TM.hTM.cppF-11类F11.hF11.cppredStar类RedStar.hRedStar.cpptemp...转载 2020-05-07 08:09:46 · 324 阅读 · 0 评论 -
C++中数组作为形参进行传递(转)
C++中数组作为形参进行传递(转)有两种传递方法,一种是function(int a[]); 另一种是function(int *a)这两种两种方法在函数中对数组参数的修改都会影响到实参本身的值!对于第一种,根据之前所学,形参是实参的一份拷贝,是局部变量。但是数组是个例外,因为数组的数据太多了,将其一一赋值既麻烦又浪费空间,所以数组作为参数传递给函数的只是数组首元素的地址,数据还是在内...转载 2020-05-05 09:59:36 · 2518 阅读 · 0 评论 -
利用jsoncpp将json字符串转换为Vector
利用jsoncpp将json字符串转换为Vector在API测试过程中经常会遇到传入参数为复杂类型,一般情况下在python下,习惯用字典来表示复杂类型。但是c++对字符串的处理是比较弱智的,一般c++里边会用vector来存储复杂类型,那么就存在转换的问题,下面小段代码记录了将字符串转换为Vector的过程待转换的字符串如下:const char * jsongroupinfo="[...转载 2020-05-05 09:16:03 · 2189 阅读 · 2 评论 -
C++实现的json解析器
C++实现的json解析器紫云的博客 2015-05-27 16:52:26 1792 收藏展开源码 https://github.com/heyuanlong/jyjsonjson解析后的存储形式:小说明:1.{"a":1,"b":"a' g,f'd[][{{}{}'f","c":["d,ed",2,{"a":1},[1,2],true,null...转载 2020-05-05 09:12:15 · 411 阅读 · 0 评论 -
c++ 正则表达式-基础操作
c++ 正则表达式-基础操作philpanic9 2019-03-04 21:50:43 13462 收藏 30展开正则表达式是一个非常强大的工具,主要用于字符串匹配。如何在c++中使用正则表达式?下面就简要介绍一下c++中正则表达式相关函数的用法。本篇博客中所涉及到的函数及其功能如下表所示:函数 功能regex_match(s,re) 目标字符...转载 2020-05-04 21:09:55 · 968 阅读 · 0 评论 -
C++中使用vector动态创建多维数组
C++中使用vector动态创建多维数组Clark_Sev 2019-06-02 17:16:25 1022 收藏 2展开容器在C++中是一个很重要的部分,如果熟练使用能够大大提高编程效率。本文简单介绍使用vector容器创建二维数组。下面是实现的案例**注意:**使用基于范围的for循环更改数组属性时,需要传递数组的地址或是引用才能更改成功,这与函数的传递类似。同时上面有:...转载 2020-05-04 21:07:44 · 1647 阅读 · 0 评论 -
C++的泛型编程和限制参数类型的技术探讨
C++的泛型编程和限制参数类型的技术探讨良少 2008-01-12 21:45:00 8817 收藏展开C++的泛型编程和限制参数类型的技术探讨模板概述泛型是C++中的重要特性。据说,已经在C++社区中已经取代面向对象成为C++的主要编程泛型。STL和boost库等都广泛使用了泛型。泛型,就是C++的模板机制。模板...转载 2020-05-04 20:26:54 · 1532 阅读 · 0 评论 -
C++ STL 之 unordered_set 使用(包括unordersd_map)
C++ STL 之 unordered_set 使用(包括unordersd_map)无痕眼泪unordered_set可以把它想象成一个集合,它提供了几个函数让我们可以增删查:unordered_set::insertunordered_set::findunordered_set::erase这个unorder暗示着,这两个头文件中类的底层实现----Hash。 也是因为如...转载 2020-05-02 19:19:11 · 3136 阅读 · 0 评论 -
C++中set用法详解
C++中set用法详解C++中set用法详解#include<set> #include<iostream> using namespace std;int main(){ set<int>s; int n; cin>>n; for(int i=1;i<=n;i++) {...转载 2020-04-30 23:03:02 · 371 阅读 · 0 评论 -
C++中,引用作为函数参数
C++中,引用作为函数参数引用作为函数参数C++之所以增加引用类型, 主要是把它作为函数参数,以扩充函数传递数据的功能。————————————————————c++,函数传参:(1)将变量名作为实参和形参。这时传给形参的是变量的值,传递是单向的。如果在执行函数期间形参的值发生变化,并不传回给实参。因为在调用函数时,形参和实参不是同一个存储单元。//同c(2) 传递变...转载 2020-04-29 21:48:12 · 627 阅读 · 0 评论 -
C++11带来的优雅语法
C++11带来的优雅语法内容目录:自动类型推导 auto 萃取类型 decltype 返回类型后置语法 Trailing return type 空指针标识 nullptr 区间迭代 range-based for loop 去除右尖括号的蹩脚语法 right angle brackets lambda表达式的引入 原生字符串 Raw string literals 非成员...转载 2020-04-29 21:42:42 · 410 阅读 · 0 评论 -
[C++]vector创建二维数组
[C++]vector创建二维数组寇浩哲 2018-07-29 09:10:18 12805 收藏 6展开c.resize(n);将c重置为大小为n个元素向量,如果n比原来的元素多,则多出的元素常被初始化为0//节选《面向对象的程序设计》杜茂青int N=5, M=6;vector<vector<int> > Matrix(N);for(int ...转载 2020-04-26 11:34:33 · 579 阅读 · 0 评论 -
C++-Qt-中的foreach用法
C++中的foreach用法leyou2018 2017-01-18 16:56:20 37083 收藏 6展开在c++中,一般人只知道foreach分开写为“for each”时的用法,却不知道“foreach”的用法。不多说,直接上代码。 QStringList listTemp; listTemp.append("aaa"); listTemp.ap...转载 2020-04-26 10:18:46 · 1389 阅读 · 0 评论 -
c++ vector begin(),end(),rbegin(),rend()问题
c++ vector begin(),end(),rbegin(),rend()问题置顶 小白的进阶 2016-06-02 15:38:33 15517 收藏 9展开C++ primer (中文版第四版)第273页9.3.2 begin和end成员begin和end操作产生指向容器内第一个元素和最后一个元素的下一个位置的迭代器。这两个迭代器通常用于标记包含容...转载 2020-04-26 10:16:43 · 2617 阅读 · 0 评论 -
c++ vector自带的排序
c++ vector自带的排序叶晚zd 2019-04-09 11:49:24 9871 收藏 4展开c++中vector的排序函数:sort()int s[] = {1,6,3,2,5};vector<int> vec(s, s+5);//正向排序:按照从小到大的顺序排序sort(vec.begin(), vec.end()...转载 2020-04-26 10:10:59 · 2131 阅读 · 0 评论 -
C++迭代器的使用和操作总结
C++迭代器的使用和操作总结目录一.定义和初始化 二.常用操作 三.迭代器const_iterator 四.使迭代器失效的操作正文 迭代器是一种检查容器内元素并遍历元素的数据类型。C++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只用少数容器(如vector)支持下标操作访问容器元素。回到顶部一.定义...转载 2020-04-19 14:11:20 · 511 阅读 · 0 评论 -
C++中的swap(交换函数)
C++中的swap(交换函数)交换两个变量的值很简单。比如 int a = 1; b = 2; 交换a b的值这个很简单 很容易想到的是找个中间变量比如 int temp = a; a = b; b = temp;不需要中间变量可不可以?当然是可以的。比如【加减法】a = a + b;b = a - b;a = a - b;该方法可以交换整型和浮点型数值...转载 2020-04-19 13:41:02 · 7019 阅读 · 0 评论 -
C\C++ 中的绝对值函数:abs()、cabs()、fabs()、labs()
C\C++ 中的绝对值函数:abs()、cabs()、fabs()、labs()白水偷偷画工图不同类型的数据使用不同类型的绝对值函数:整型:int abs(int i) //返回整型参数i的绝对值 复数:double cabs(struct complex znum) //返回复数znum的绝对值 双精度浮点型:double fabs(double...转载 2020-04-19 13:23:01 · 2056 阅读 · 0 评论 -
C/C++ 判断两个整数相乘是否溢出
C/C++ 判断两个整数相乘是否溢出 判断两int相乘是否溢出,目前找到的最正确方式:int is_mul_overflow(int a, int b) { if( a >= 0 && b >=0 ) { return INT_MAX / a < b; } else if( a < 0 &&am...转载 2020-04-19 12:26:54 · 2431 阅读 · 0 评论 -
nsLookUp.exe 的实现
LookUp.exe 的实现原创yuprxk 最后发布于2014-05-08 12:09:42 阅读数 543 收藏展开d#include <WinSock2.h>#include <iostream>#pragma comment(lib,"ws2_32.lib")using namespace std;int handle_error(){...转载 2020-04-17 08:44:03 · 333 阅读 · 1 评论 -
Qt QTableWidget用法总结
Qt QTableWidget用法总结转载:李宏兵 QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel...转载 2020-04-15 09:09:34 · 376 阅读 · 0 评论 -
c++ map与unordered_map区别及使用
c++ map与unordered_map区别及使用转载别说话写代码最后发布于2018-12-01 13:06:34阅读数 12972收藏展开转自:https://blog.youkuaiyun.com/BillCYJ/article/details/78985895需要引入的头文件不同map: #include < map >unordered_map: #inclu...转载 2020-04-11 21:38:51 · 290 阅读 · 0 评论 -
c++ 之 std::move 原理实现与用法总结
c++ 之 std::move 原理实现与用法总结原创ppipppanda 最后发布于2018-11-30 10:40:30 阅读数 39304 收藏展开在C++11中,标准库在<utility>中提供了一个有用的函数std::move,std::move并不能移动任何东西,它唯一的功能是将一个左值强制转化为右值引用,继而可以通过右值引用使用该值,以用于移动语义。从实现上讲,s...转载 2020-04-10 19:40:43 · 220 阅读 · 0 评论 -
微信PC端C++技术获取聊天内容
微信PC端C++技术获取聊天内容C/C++编程最近又学习了某位大佬用C++的方法,大佬的一句话有点醍醐灌顶,然后有了新的感觉,然后开始尝试实践这篇文章。自己总结一下C++用法的核心思路:通过各种技巧搜索找到内存中关键数据,然后结合动态调试找到操作数据的函数。微信的客户端和以往QQ,TIM之类有些差别。没有使用腾讯以往的DirectUI技术,而回归传统使用GDI自绘窗口。所以我们可以...转载 2020-04-09 22:09:32 · 3294 阅读 · 0 评论 -
C++ pair的基本用法总结(整理)
C++ pair的基本用法总结(整理)原创sevencheng798 最后发布于2018-08-22 09:36:22 阅读数 55273 收藏展开1,pair的应用pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结...转载 2020-04-08 09:55:09 · 3783 阅读 · 1 评论 -
Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示
在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示阅读目录在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示 使用 .natvis 文件 新建一个 .natvis 文件 自定义数组结构体/类 自定义非连续内存的数组结构体/类 自定义链表 自定义...转载 2020-04-01 21:08:02 · 1271 阅读 · 0 评论 -
C++中4种方式把字符串和数字连接起来
C++中4种方式把字符串和数字连接起来帅东以前老用Java里面的String类,用过的人都知道好舒服,连接字符串和数字只需要用一个 + 号就可以了。在这里真的想把C++中string类+号功能加强一下。希望有能力的人可以做一下,不然总是感觉string类缺点啥呢(每次都和java比 O(∩_∩)O哈哈~)不废话了,如题直接晒代码#include <iostream>#inc...转载 2020-04-01 20:41:28 · 5470 阅读 · 0 评论