自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 问答 (1)
  • 收藏
  • 关注

原创 操作系统七种寻址方式

寻址方式本篇主要介绍了操作系统中,七种寻址方式。一、立即数寻址操作数作为指令的一部分,直接写在指令中,这样的寻址方式是立即数寻址。如果立即数为16位或32位,则按照高高低低储存。MOV AH, 80HADD AX, 1234HC语言中int a = 10;也是用到了立即数寻址。二、寄存器寻址在指令中,如果使用到了寄存器,无论是源操作数还是目标操作数,均为寄存器寻址。常用的寄存器有:AH, AL, BH, BL, AX, BX, EAX, EBX等。MOV EAX, EBXMOV

2020-12-13 19:04:24 5991

原创 C++链接MySQL配置以及简单使用

C++操作MySQL此文记录了如何在vs中配置MySQL环境,并且如何使用C++操作数据库。My Sql中文文档。一、环境配置工程的属性中:C/C++ -> 常规 -> 附加包含目录:添加MySQL的include目录。链接器 -> 常规 -> 附加库目录:添加MySQL的lib目录。链接器 -> 输入 -> 附加依赖项:添加wsock32.lib和libmysql.lib。将libmysql.lib和libmysql.dll复制到项目目录下。包含

2020-12-13 19:03:40 427

原创 二分算法研究

二分算法研究此文主旨是彻底搞清楚二分算法。在处理查找问题时,如果数据结构是数组,则可考虑二分查找。下面将用两个模板来讲解二分查找,理解这两个模板之后,遇到问题只需稍加变化即可。模板一int search(vector<int>& nums, int target){ int left = 0; int right = nums.size() - 1; // 1. 注意这里 int mid = 0; while (left

2020-12-13 19:02:15 191

原创 GDB简单的命令使用方式

gdb使用要想gdb调试成功,必须在编译期间就打上要调试的信息。g++ -g test.cpp -o build命令作用list列出代码,list 15或list mainrun运行程序break打断点,break10或break funcNamenext/step单步调试,前者不会进入函数内部,后者会。可以加数字表示执行多少条停,也可以加finish,表示到最后。continue恢复程序运行,直到遇到断点或程序结束。print后面直接

2020-12-13 19:00:56 150

原创 操作系统——进程和线程详细介绍

进程和线程本文旨在研究进程和线程相关知识。一、进程进程有很多定义,如正在执行的程序。进程要想正确在内存中执行,则必须有下面几个部分,用来记录进程信息的进程控制块,用于保存参数的系统栈,进程程序代码和代码相关的数据。这四个部分的集合被称为进程映像。1. 进程控制块进程控制块由以下几个元素构成:标识符:此进程标识符pid、创建这个进程的进程的标识符ppid、用户标识符uid。处理器状态:用户可见寄存器:处于用户态的处理器执行机器语言可以访问的寄存器。控制和状态寄存器:程序计数器、条件码

2020-12-13 18:53:14 519

原创 三、精通类与对象

三、精通类与对象本文为《C++高级编程(第四版)》第八、九、十一章的部分。访问控制友元移动语义(左值引用和右值引用)static和const关键字一、访问控制主要讲解三种访问控制权限什么时候使用。访问说明符使用场合public想让客户端使用的方法、访问private与protected数据成员的方法。protected不想让客户使用的“帮助”方法。private所有数据成员都应该是private。如果希望派生类访问,可以提供protected

2020-12-13 18:49:53 352

原创 二、内存管理-智能指针

二、内存管理-智能指针本文为《C++高级编程(第四版)》第七章内存管理部分,着重记录了如何使用智能指针。智能指针是很好的管理内存的方式,并建议多使用智能指针而不是裸指针。最简单的智能指针类型对资源有唯一所有权,当智能指针离开作用域或被重置时,会释放所引用内存,unique_ptr就是这种智能指针。有时,多个对象或代码段包含同一个指针的多个副本。这个时候就要在使用这个资源的最后一个代码块处释放指针的资源。因此,shared_ptr就出现了,它使用“引用计数”来跟踪指针的所有者。每当复制这个智能指针

2020-12-13 18:46:34 127

原创 一、C++小知识(一)

一、C++小知识(一)本文记录了《C++高级编程(第四版)》第一章到第六章的内容,着重记录了较为薄弱的知识点。知识点的顺序按照相关性调整了一小部分。枚举和强枚举。函数小知识。结构化绑定(c++17)。auto和decltype关键字。统一初始化。string__view使用(c++17)。一、枚举和强枚举类型1.1 普通枚举类型enum Color {red, blue = 10, green}; // 定义枚举类型Color c = red;最后这个枚举类型相当于的整

2020-12-13 18:38:33 95

原创 Qt拖拽简单小demo

Qt拖拽简单小demo拖拽文件到窗口中,读取该文件,并打印出来。demo.h#pragma once#include <QDebug>#include <QFile>#include <QTextStream>#include <QtWidgets/QWidget>#include <QDrag>#include <QDragEnterEvent>#include <QDropEvent>#inclu

2020-10-07 14:00:39 302 1

原创 namespace “std“没有成员“function“

std::function是c++11新出现的特性,请确保您的编译版本在c++11或之上。若编译版本无问题,则添加头文件#include <functional>.

2020-09-20 14:01:04 5805 2

原创 Qt中https请求返回总是空值问题

Qt中https请求返回总是空值错误现象有以下几点:使用QNetworkAccessManager请求一个https网址后,返回不到任何数据。Qt版本为5.9.9以下。openSSL版本为1.0.x。调用QNetworkAccessManager类的supportedSchemes()查看支持的协议,只有HTTP,没有HTTPS。使用抓包软件甚至连发送包都抓不到。解决方案:使用更高级的Qt版本,至少是5.9.9,即2019年底以后发布的版本。只需要使用更新的Qt版本即可。并不需要下载o

2020-08-24 19:02:10 1383 1

原创 布局重定义父部件问题

Qt组件的重定义父组件的问题,提供了官方文档的讲解。reparented。

2020-08-19 14:30:31 315

转载 C++函数指针详解

详细的介绍了函数指针的使用方式。

2020-08-08 11:47:16 4069

原创 vs+qt中ui_xxx头文件找不到问题

解决vs+qt中ui_xxx.h无法打开问题。

2020-08-05 11:09:41 4097 1

原创 C++:Lambda表达式举例讲解

本文讲述了Lambda表达式使用,探讨了捕获的注意事项和表达式泛型相关。

2020-07-28 20:44:15 531

原创 简单易理解一个模板解决非递归前根、中根、后根遍历(leetcode144,94,145)

简单易理解一个模板解决非递归前根、中根、后根遍历(leetcode144,94,145)先跟遍历总体思路:存放节点值 -> 访问左子树 -> 访问右子树。中根遍历总体思路:访问左子树 -> 存放节点值 -> 访问右子树。后根遍历总体思路:访问左子树 -> 访问右子树 -> 存放节点值。三种非递归遍历有多种解法,此文将介绍一种通用模板,只需要略加修改便可同时解决三种遍历方式。下面将把三种代码贴出来,略加修改的地方将在注释中详细指出。一、先根遍历(leet

2020-07-11 11:25:33 163

原创 为什么C++函数可以返回Vector局部变量

为什么C++函数可以返回Vector局部变量?C++语言中,所有new和malloc创建的变量均存放在堆区,这已经是一个共识。但是鲜为人知的是,STL库中的容器虽没有经过这两个关键字创建,但同样是存放在堆区。这与动态数组性质相同。如果从汇编角度观察便会发现,容器均调用了allocator来创建。这里便不展开多言。

2020-07-05 21:04:58 3382 1

原创 C/C++:const常量真的可以用指针修改吗

C/C++:const常量真的可以用指针修改吗常量在程序运行前就已经存在,并在程序运行时加载到常量区。若定义常量a并赋值,之后使用指针p修改a的值。此时即使对a做任何计算,a的值还是未修改的值,但是*p的值会是修改后的值。看这段代码,首先定义一个常量a等于5。再使用p指针指向a,并修改值。那么最后输出a结果如何呢?int main() { const int a = 5; // 定义常量a = 5 int *p = (int*)&a; // 指针指向a,

2020-06-06 18:03:29 1256

原创 C++:两百字三段代码解决函数返回局部变量问题

C++:两百字三段代码解决函数返回局部变量问题不可返回指向栈内存的局部变量。可返回指向堆区和常量区的局部变量。(选)调用函数步骤:先入栈参数和局部变量 -> 执行函数 -> 将返回值保存至一个区域 -> 出栈函数的局部变量和参数 -> 将返回值拷贝至主函数的接受值。函数不可返回指向栈内存的局部变量,但可返回指向堆和常量区的。那么什么是栈,堆以及常量区呢?它们中存放的是什么数据?它们储存的数据什么时候释放?一、栈、堆和常量区(重要)栈堆常量区

2020-06-04 15:10:05 249

原创 100字:O(logn)、O(nlogn)对数时间复杂度

100字:O(logn)、O(nlogn)对数时间复杂度执行的次数即时间复杂度。若循环嵌套,则要把原来时间复杂度相乘。O(n)与O(n)嵌套,则复杂度为O(n2)O(logn)时间复杂度即一段代码被执行的次数。比如一段代码被执行了一次,那么时间复杂度为O(1)。for i in range(1, n): # 复杂度O(logn) i *= 2 i的取值为20, 21 …...

2020-04-28 08:32:46 1103 1

原创 简明教程——C#:类的继承

C#:类的继承通读此篇大约需要十分钟。使用符号:来实现继承。继承的含义:在代码中无需写出便可直接使用。派生类会获得基类的所有成员。基类不会得到派生类独有的成员。派生类不会获得基类的静态构造函数、实例构造函数、析构函数。只有被标记为virtual, abstract, override的成员才可被重写。接口中无实体的函数(包括抽象函数),强制继承,即强制要求派生类重写。接口中若有...

2020-04-14 19:37:34 1527

原创 简明的使用C#委托(delegate)

C#:委托(Delegate)委托类似于函数的指针。函数的声明需要和委托的声明一致。委托可作为参数传递至函数。委托的多播即一次调用多个函数。C#中的委托类似于C或C++中函数的指针。委托是储存对某个方法的引用,其是一种引用类型变量。也可用于将方法作为参数传递给其他函数。一、声明委托委托声明决定了可由该委托引用的方法。换言之,委托只能实例化具有兼容签名和返回类型的函数。假设这...

2020-04-10 21:31:34 771

原创 python中list与tuple使用简介(不正经)

本文介绍了list和tuple的一些特性以及经常使用的一些函数。旨在能够使您有趣的学习。

2020-03-02 16:21:57 385

空空如也

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

TA关注的人

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