自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 intel(R) wireless-ac 9462 问题

今天重启电脑后发现无法连接无线网,就是点击网络按钮后没有搜索到任何的网络,然后点解问题检测发现是intel(R) wireless-ac 9462 问题win + x按钮选择设备管理器, 之后选择网络适配器,发现intel(R) wireless-ac 9462 显示黄色感叹号(注意,在这里因为我已经修复了,所以没有黄色感叹号)然后右击intel(R) wireless-ac 9462,选择属性发现设备状态为 intel(R) wireless-ac 9462 该设备无法启..

2022-05-04 11:12:00 3619 3

原创 mysql ERROR 3065

报错语句select distinct order_num, prod_id from orderitems order by order_item;报错详情ERROR 3065 (HY000): Expression #1 of ORDER BY clause is not in SELECT list, references column 'Mydb.orderitems.order_item' which is not in SELECT list; this is incompatible

2022-04-23 15:32:38 1328

原创 mysql忘记密码?手把手教你解决

我的mysql版本是5.7.35,平台是linux这是一个悲伤的故事,我忘记了我的mysql密码,然后试过了网上的大多数解决方案,发现网上的解决方案可能是版本太老,又或是描述有误,都以失败告终,在我的不懈探索下,终于解决了。修改my.cnf文件如果你不知道my.cnf文件在哪里,你可以my@yun:~$ locate my.cnf/etc/alternatives/my.cnf/etc/mysql/my.cnf/etc/mysql/my.cnf.fallback/var/lib/dpkg/

2022-04-23 10:19:45 871

原创 由于找不到MSVCR110.dll, 无法继续执行代码。重新安装程序可能会解决此问题

visual studio2019在编译cocos时提示这个,解决方案

2021-03-27 14:01:08 1865

原创 Qt recompile with -fPIC

Qt编译时提示: relocation R_X86_64_32 against ‘.rodata’ can not be used when making a PIE object: recompile with fPIC于是百度, 找了很久找到一篇能够解决我这问题的帖子在这里面的参考文档中提到,从Ubuntu16.10版本开始默认启用PIE了,而makefile里这个库不支持PIE,在makefile中gcc一行加入 -no-pie 来禁掉PIE。在Qt中不太好直接配置makefile, 于是我在项

2021-03-25 19:55:19 1664 1

原创 构造线程的函数参数为引用

在c++中有时构造线程的函数需要引用类型的参数, 此时可以用ref()函数void t(int &a){....}int main(){ int n = 0; thread t1(t, ref(n)); t1.join(); return 0;}因为thread实现中用到了bind(), 此时并不能根据参数推断类型,需要用ref()说明参数是引用类型int n;cout << typeid(ref(n)).name() << endl; /

2021-03-21 09:38:57 110

原创 c++ sort的简单实现

#include<iostream>#include<functional>using namespace std;//function可用来表示任意可调用对象, 包括lambda对象void sort(int *begin, int *end, function<bool(int, int)> cmp = [](int a, int b){ return a < b; }){ if(begin >= end) return

2021-03-07 00:24:56 272

原创 c++ string常用函数

头文件#include <string>函数operator[]:string str="abc"cout << str[1] << endl;operator<string str="abc"string str1="def"cout << (str < str1) << endl;operator>string str="abc"string str1="def"cout << (s

2021-02-28 23:23:11 106

原创 nth_element函数

头文件#include <algorithm>函数声明template <class RandomAccessIterator, class Compare>void nth_element (RandomAccessIterator first, //首迭代器 RandomAccessIterator nth, //待寻找元素的迭代器 RandomAccessIterator last, //尾迭代器

2021-02-28 22:40:30 91

原创 红黑树实现

文章目录前言一, 函数调用流程及插入删除总结二, 最终代码实现三, 二叉排序树的实现1 ,二叉排序树的节点插入:2,二叉排序树的节点删除:(1)如果待删除节点没有左右子孩子(2) 待删除节点只有左孩子(3) 待删除节点只有右孩子(4) 待删除节点有左右两个孩子(5)删除节点的代码实现3,二叉排序树插入与删除节点的代码实现四, 由二叉排序树到红黑树一, 加入记录颜色的元素二, 插入节点后对红黑树五条基本性质的维护1. 插入节点的颜色2. 左旋和右旋3. 插入和调整节点过程中导致失衡的情况情况一情况二4,插入.

2021-01-28 00:59:47 237 1

原创 归并排序

#include <stdio.h>#include <time.h>#include <stdlib.h>#define swap(a,b) {\ __typeof(a) temp = a;\ a = b; b = temp;\} void sub_sort(

2020-11-30 12:42:18 62

原创 线性建堆法与堆排序

#include <stdio.h>#include <time.h>#include <stdlib.h>#define swap(a,b) {\ __typeof(a) temp = a;\ a = b; b = temp;\}void update(int num[],int begin,int end){ int cur = begin,max = begin; if(cur * 2 <= end &&a

2020-11-30 11:47:13 723

原创 windows Visual Studio c++ 的main函数返回-1073741571

现象:程序卡住一段时间后结束运行,返回异常值-1073741571可能原因:类的析构函数删除没有由new开辟的类指针场景重现:#include <iostream>using namespace std;class T{private: T *t;public: T(); ~T();};T a;T::T(){ t = &a;}T::~T(){ delete t;}int main(){ return 0;}...

2020-11-15 23:32:53 549

原创 c语言数组实现队列

#include <stdio.h>#include <stdlib.h>#include <time.h>typedef struct queue{ int *data,head,tail,size,count;} queue;queue *init(int );void clear(queue *);int push(queue *,int );int pop(queue *);void output(queue *);int empty(q

2020-11-13 10:08:19 296

原创 c语言实现链表

#include <stdio.h>#include <stdlib.h>#include <time.h>typedef struct Node{ int data; struct Node *next;} Node;typedef struct List{ int length; Node *head;} List;List *init();void clear(List *);Node *new_node(int );int ins

2020-11-12 22:21:07 61

原创 c语言实现顺序表

#include <stdio.h>#include <stdlib.h>#include <time.h>typedef struct{ int *data,size,length;} Arr;Arr *init(int n){ //初始化一个顺序表 Arr *res=(Arr *)calloc(1,sizeof(Arr)); res->data=(int *)calloc(n,sizeo

2020-11-12 19:10:58 65

原创 数学问题

欧几里得算法(辗转相除法)用途:用于求两个数的最大公因数基础:如果c为a和b的最大公因数,那么c也一定为b和a%b的最大公因数,同理,c也为a%b和b%(a%b)的最大公因数,其中b等于0时最大公因数c等于a#include <stdio.h>int max_div(int a,int b){ return (b? max_div(b,a%b) : a);}int main(){ printf("%d\n", max_div(15,10)); return 0;}素数

2020-11-11 17:35:27 118

原创 c语言变参函数与变参宏

变参函数#include <stdio.h>#include <stdarg.h>int max(int n,...){ int ans=0x80000000; va_list arg; //定义va_list 类型变量arg va_start(arg,n); //宏函数va_start while(n--){ int temp=va_arg(arg,int); //宏函数va_arg if(temp > an

2020-11-10 23:08:18 237

原创 c语言字符串与整形,浮点数...相互转换

在c语言中我们常用sprintf来进行字符串的拼接,但其实sscanf,sprintf两个函数能够实现字符串与其他类型的转换字符串转整形#include <string.h>#include <stdio.h>int main(){ char str[]="123 838"; int a,b; sscanf(str,"%d %d",&a,&b); return 0;}字符串转浮点型#include <string.h>#in

2020-11-10 17:36:16 309

原创 不定义额外变量交换两个变量

文章目录前言一、普通交换方法操作基础1.定义普通函数2.定义宏函数二、不定义额外变量交换方法操作基础1.定义普通函数2.定义宏函数前言通过位操作,用c++实现不定义额外变量的情况下交换两变量的数据一、普通交换方法操作基础int main(){ int num1=1,num2=2; int temp=num1; num1=num2; num2=num1; return 0;}普通交换方法通过定义一个中间变量来储存其中一个变量的值辅助交换,以此为基础我们可以定义普通函数或宏函数.

2020-10-18 00:02:24 169

原创 字节数不同的变量间赋值会发生什么?

文章目录前言一、较长的整形赋值给较短的整形二、较短的整形赋值给较长的整形1.正数2.负数总结前言在c语言中我们或多或少的会在不同内存长度的变量之间赋值,但如果对不同类型之间的转化不了解,很容易发生一些意想不到的意外。提示:以下只研究了有符号整形之间的转换一、较长的整形赋值给较短的整形int a=0x12345678;char b=a;printf("%x\n",b);这里用16进制格式的数据赋值给a(16进制与二进制的转化关系,16进制赋值与普通赋值的区别):因为int类型为4字..

2020-10-17 23:03:19 889

原创 16进制与二进制之间的转换

前言很多时候我们需要在16进制与二进制之间相互转换,而8421法就可以实现16进制与二进制之间的相互转换一、二进制转16进制如:0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 11111、二进制数据4个一组进行划分2、我们发现4个二进制位刚好能够表示16个数,于是规定(0000)0,(0001)1,( 0010 )2,(0011)3,( 0100)4,( 0101 )5,(0110)6,( 0111)7,(

2020-10-11 02:31:09 9734

原创 c语言的进程

样例:#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/wait.h>int main(){ printf("开始\n"); int pid=fork(); printf("%d\n",pid); if(pid){ int status; int result=wait(&status); if(result == -1 || s.

2020-10-02 09:53:55 580

原创 静态数据成员static的问题

之前写了一个简易的栈:简单实现一个栈在这里面想要让头指针head为整个类共有,但问题就出现在这里,之后无论我在哪里再次重新定义一个栈,头指针head都指向了一个值,导致栈中的值都是一样的,那样一个程序中我就只能定义一个栈测试代码(测试在不同位置定义一个int类型的栈,这些栈的值是否是同一个):void f(void) { //在其它函数中定义一个栈stack2 Stack<int> stack2; cout <&

2020-09-26 12:32:32 140

原创 函数定制操作原理

之前写过c++sort函数可以自定义排序方式自定义sort函数,感到很神奇,最近突然灵光一现,明白了它的实现原理在这里我们通过自定义一个比较函数实现了sort的逆序排序:#include <iostream>#include <vector>#include <algorithm>using namespace std;bool revesal(int, int);int main(){ vector<int > arr{ 4,6,

2020-09-19 11:42:11 115

原创 您的主机不满足在启用 Hyper-V 或 Device/Credential Guard 的情况下运行 VMware Workstation 的最低要求

重装系统后第一晚用VMware启动原有ubunto没问题,后来又进行了一些设置,第二天再次启动ubunto时提示“您的主机不满足在启用 Hyper-V 或 Device/Credential Guard 的情况下运行 VMware Workstation 的最低要求”,于是在网上四处寻找解决办法,试过按照网上的办法禁用Hyper-V,可根本没有找到Hyper-V,后经多方寻找,找到原因原来是前一晚开启了开启了windows安全中心中的内核隔离,关闭后成功启动ubunto转载...

2020-09-13 22:31:53 1214

原创 不同类型指针强制转换可能存在的问题

一个问题char a[20]="You_are_a_girl";int *ptr=(int *)a;ptr+=5;最终*ptr的值应该是多少?输出验证开始以为是索引为5的字母的ASCII码,但实际上机验证后发现出入很大,输出了32767这个奇怪的数字深入探索经过排查发现问题应该是出在int *ptr=(int *)a; 这里,将char类型的指针强制转换为int类型指针,在执行ptr+=5; 时,并不是加上sizeof(char)5个字节,而是sizeof(int)5个字节,于是最终p

2020-09-04 13:27:42 732

原创 为什么结构体所占内存大于所有成员之和

首先由几个反常现象说起第一个反常现象:typedef struct{ int a; double b; char c;} Test;Test 结构体的所占内存大小应该为int 的4字节+double 的8字节+char 的1字节=13字节,但反常的地方就是Test所占用的内存并不是13字节,而是24字节,整整翻了接近一倍printf("%lu\n",Test);第二个反常现象:typedef struct{ int a; char c; double b;} Test;

2020-09-04 12:45:41 1019 1

原创 c语言实现一个计算器

流程图(函数有点多)核心算法:先上代码为敬,之后详细拆分每个函数#include <stdio.h>#include <stdlib.h>void calculator_run(); //管理运行,输入,计算相关int input_and_legal(char []); //输入并验证字符合法int legal(char); //验证字符合法void compute_and_output(char []); //相关处理,输出结果double

2020-08-21 21:00:25 2048 1

原创 自定义sort()函数

c++ Primer p344sort()函数默认的string排序:int main() { vector<string> test{ "aalal","dfjd","djdr","hkhkikhoooo","vj","khk","eire","gkgdkjdje" }; sort(test.begin(), test.end()); for (auto& t : test) { cout << t << ends;

2020-08-17 10:01:32 823

原创 简单实现一个栈

用单向动态链表实现栈代码先行,说明随后就到template<class Type> //定义模板类class Stack{private: Type data; Stack* next; //指向下一个节点的指针 static Stack* head; //指向表头的指针public: Stack() :next(NULL) {} ~Stack() { delete next; } void push(Type);

2020-08-15 12:26:18 353

原创 系统大小端

产生原因:计算机以字节为单位,一个地址单元储存一个字节,对于处理超过一字节的处理器,存在着如何安排多个字节的问题,于是出现了大小端的储存模式。小端模式:数据中低字节放在内存低地址中,高字节放在内存高地址中,数据优先填充到内存低地址中。大端模式:数据低字节放在内存高地址中,高字节存放在内存低地址中,数据优先填充到内存高地址中。高低字节:如short a=1,其二进制码为0000 0000 0000 0001,其低字节为后8位:0000 0001高字节为前八位:0000 0000。判断字节序:

2020-08-08 14:40:33 111

原创 程序的text,data,bss,stack,heap

全局变量:text 代码段: 存放代码,一般只读data 数据段: 存放静态变量,全局初始化变量,常量,只初始化一次bss BSS段: 存放全局未初始化数据,用0初始化非全局变量:stack 栈区: 存放局部变量,函数参数,返回值等heap 堆区: 动态分配如malloc,new申请的内存详情...

2020-08-05 15:44:05 77

原创 入坑第一天(Linux基本命令)

1.man man 命令:系统菜单,打开工作目录下的set文件2.help 命令:显示命令细节3.cd 命令:格式:cd 目录名功能: 用于切换到指定目录cd / 进入根目录cd … 或 cd - 上层目录(.表示当前目录,而…表示上级目录)cd 或 cd ~进入当前用户目录cd 目录名 进入相应目录4.clear 命令:清屏5.pwd 命令:查看当前目录绝对路径6.ls 命令:查看相关信息ls 显示当前目录下内容ls -l 查看当前目录下文件和文件夹的详细信息ls

2020-08-04 16:09:14 122

空空如也

空空如也

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

TA关注的人

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