自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++在vs2017中申请0大小数组

//vs2017 struct MyStruct { int c; int i[0]; //pass }i; i.c = 12; int j = sizeof(i); // j = 4 int *c = new int[0]; //pass delete c; //pass delete c; //run error int k[0]; //compile error

2020-06-30 15:20:42 409

原创 关于Qt信号槽线程之间采用BlockingQueuedConnection的阻塞原理

//Qt部分源码如下.....//其他代码else if(type == Qt::BlockingQueuedConnection){ if(currentThread == objectThread) //如果是同一条线程,就死锁了 qWarning("QMetaObject::invoke: Dead lock detected"); QSema...

2020-01-13 17:23:20 8970

原创 c++作用域

::作用域表示的是全局范围的,也就是说:错误:int main { int i = 0; { ::i = 6;}//报错}正确:int i = 1;int main(){ { int i = 2; { int i = 3; ::i = 6; ...

2020-01-03 16:52:10 157

原创 c++关于虚构函数私有的问题

class Test{public: explicit Test(); static void test() { Test t; } //可以释放 private: ~Test();}int main(){ Test t; // 无法释放 Test *p = new Test; delete p; // 无法释放}...

2019-12-18 16:39:22 208

原创 c++内置类型默认值测试

#include <iostream>int main (){ int i = int(); //unsigned int ui = unsigned int(); double d = double(); float f = float(); char c = char(); //unsigned char...

2019-11-07 17:03:31 374

原创 c++10进制和16进制转换的一种方法

利用c++标准库中的string和sstream可以完成这种转换,当然这只是一种可行的方法#include <iostream>#include <string>#include <sstream>std::string htoi(const std::string &hStr){ return std::to_string(st...

2019-10-16 10:03:50 835

原创 关于使用pnputil安装inf文件的问题(sysnative)

http://www.itkeyword.com/doc/6772035443205381x642/pnputil-exe-is-not-recognized-as-an-internal-or-external-commandhttps://q.cnblogs.com/q/69381/https://www.jb51.net/os/windows/339151.htmlpnpu...

2019-10-12 14:53:17 1586

原创 c++使用socket编程小demo

注意:此代码是在window平台下;linux需要自己更改部分代码,本文尽可能的使用c++标准所支持的规范来编写;一、简单介绍socket编程所需要使用的函数1:socket函数int sock(int af, int type, int protocol);/* * 作用:创建一个socket * * 参数: * af: (address family)常见的一般有AF...

2019-09-06 16:54:14 1418

原创 学习git记录

一:基础命令1:git init//git init;将当前目录变成git可以管理的仓库,使用此命令之后,文件夹下会出现.git文件夹(默认隐藏),可以使用ls -ah来查看2:git add//git add 【file】;将【file】添加到仓库3:git commit//git commit -m “some comments”;提交改动,-m后面的是本次提交...

2019-08-27 14:59:13 999

原创 c++杂记

1:类模板可以使用虚函数,但类模板成员函数不可以是虚函数(因为编译器无法确定存在多少虚函数)2:复合类型:基于其他类型定义的类型(如:指针、引用);3:顶层const和底层const(指针中的概念):顶层const指修饰指针本身,底层const修饰实际指向的;int a = 0;int const * const p = &a;auto pp = p;//pp的类型是 ...

2019-08-14 19:54:13 798

原创 记初入c++模板元

一:问题一个问题:打印250(包括250)以内的所有素数;第一种方法:自己找出所有的素数,并放入一个数组中,可能的一种代码如下:#include <iostream>int main(){ int primes[] = { 2, 3, 5, 7, 9, 11, 13 .......... };//需要自己找,自己算,猝死....... //打...

2019-07-01 17:40:57 198

原创 编译原理-文法

文法定义:其中: :非终结符;(非空有穷集合) :终结符;(非空有穷集合) P:产生式(规则);(非空有穷集合) S:识别符(开始符);文法分类:0型、1型(上下文有关)、2型(上下文无关)、3型(正规)其中: 0型:一般的文法至少是0型; 1型(上下文有关):任何产生式...

2019-06-26 16:35:38 514

原创 关于c++委托机制的实现(三)

写自己的bug,让自己无bug可写上一篇博客地址:https://blog.csdn.net/qq_34236354/article/details/89878858,有兴趣的可以去看看函数简介:c++中有普通函数,类静态成员函数,类普通成员函数,lamda函数普通函数:一般指全局函数类静态成员函数:类的静态函数,可以通过Class::Fun()形式调用类普通成员函数:类的普...

2019-05-06 15:39:06 140

原创 关于c++委托机制的实现(二)

写自己的bug,让自己无bug可写上一篇博客地址:https://blog.csdn.net/qq_34236354/article/details/89876304,有兴趣的可以去看看下一篇博客地址:https://blog.csdn.net/qq_34236354/article/details/89881722,有兴趣的可以去看看函数简介:c++中有普通函数,类静态成员函数,类普...

2019-05-06 13:55:36 149

原创 关于c++委托机制的实现(一)

写自己的bug,让自己无bug可写下一篇传送门:https://blog.csdn.net/qq_34236354/article/details/89878858本博客参考其他博客编写而成,参考博客地址:https://blog.csdn.net/gouki04/article/details/6852394,有兴趣的可以去看看函数简介:c++中有普通函数,类静态成员函数,类普通成员...

2019-05-06 11:24:53 161

原创 记c++可变参数的理解

一:关于可变参数1:需包含<cstdarg>头文件或者<stdarg.h>2:在<cstdarg>头文件中包含1个类型和4个宏,分别是: 类型:va_list 宏:va_start, va_arg, va_end, va_copy; 其中这4个宏其实是和编译平台相关的,但是基本类似,只是略有区别;原理都是需要根据当前的平台...

2019-04-29 10:25:54 144

原创 关于windows的USB外接设备启用禁用的C++实现

一:注意: 1: 外接设备指的是通过usb先连接到windows系统的设备(如:测试盒,usb移动硬盘,鼠标,键盘等),其他的我没试过; 2:启用禁用指的是起到和“设备管理器”的“启用”“禁用”一样的功能; 3:此代码只有编译成64位程序才会有效,32位程序无法控制;二:源代码 注:源代码纯手敲上来的,可能有些拼写错误...

2019-04-11 14:35:34 4889 6

原创 c++ 引用小记(左值引用)

注:此处所指的引用皆指左值引用,关于右值引用暂不讨论一点一滴,慢慢积累1:引用必为某个对象的引用2:引用只能被初始化且必须初始化,而不能被赋值(若不初始化,则编译报错)3:被初始化的引用或者函数形参中的引用参数可以取址,但不允许定义指向引用的指针,但却可以定义指针的引用,如下int main(){ int i = 0; int &amp;ii = i; ...

2019-01-17 10:23:45 273

原创 关于windows热插拔检测的个人理解(使用Qt开发)

在Qt中每一个窗口类(widget)都有一个处理windows消息的函数,当windows出现热插拔事件的时候,会向每个窗口发送相应的WM_消息,在Qt下,最终将调到natevieEvent函数;下面以QWidget为例:virtual bool QWidget::nativeEvent(const QByteArray &eventType, void *message, long ...

2018-09-14 20:37:51 2337 1

原创 C++指针理解

一:指针是什么    指针是一种变量,和int、char、float等一样,需要占用一定的内存;    例如:    int变量:在32位机器上占用 4 个字节; 在64位上也是 4 个字节,存储的是整型数字    int*指针变量:在32位机器上占用 4 个字节; 在64位上也是 8个字节,存储的是int变量的地址;    所以,说到底,指针也是一种变量,只不过是存储地址的变量;二:指针类型的含...

2018-05-04 13:33:09 218

原创 c++小知识(1)(结合自己的理解,从网上整理的)

一:机器运行是大端还是小端?大端:即高字节放在低内存中,符合人类阅读习惯;小端:即高字节放在高内存中;判断代码:/*返回值:true,表示大端,false为小端*/bool getEndian(){ int i = 1; return *(char*)&amp;i == 1;}二:const和指针的关系1:const int * p    p指向的int类型地址值不可变;...

2018-05-04 11:53:45 134

原创 c++,二维数组中的数值代表金币数,从左上角出发,只能向下或者向右移动,判断是否存在获取指定金币数值N的路径

/*例如:如下图所示,有一片棋盘格子样的街区,每个十字路口可能有一个传送门结束游览,用0表示,或者可能有一些金币供拾取,用地图上的数字表示。从左上角出发,只能向下或者向右移动,求给定地图是否存在某个路径可以获得指定数额的金币N。*--5---1--4---15-23--4--8--1--15| | | | | | | | ...

2017-07-11 16:18:31 1542

空空如也

空空如也

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

TA关注的人

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