自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (3)
  • 问答 (5)
  • 收藏
  • 关注

原创 VSCODE_GOLANG生产力工具配置

go语言和VSCODE安装过程省略

2022-02-27 15:27:37 543

原创 【GO】变量类型及定义

go通用

2021-11-30 22:28:46 785

原创 [GO]01概述

ssd1.特性1.1标注库转存失败重新上传取消1.2实例代码package mainimport ( "net/http")func main() { http.Handle("/", http.FileServer(http.Dir("."))) http.ListenAndServe(":8080", nil)}第 1 行,标记当前文件为 main 包,main 包也是 Go 程序的入口包。第 3~5 行,导入 net/http 包,这个包的...

2021-08-10 23:37:54 296

原创 Git常用操作流程

1.创建个人分支:——Gitlab网页上fork一个分支到自己命名空间2.克隆个人远程仓库(个人分支)到本地:——文件夹中右键选择git bush here——命令:git clone XXX(项目的ssh地址,先查询一下怎么生成ssh秘钥)(原则上git bash可以完成拉取提交和合并操作,下面介绍pycharm的操作)3.添加公有库到本地——克隆完后本地只有自己的私有库,利用git remote -v只会看到origin,此时cd入克隆后的文件夹。——命令:git rem

2021-06-25 15:00:02 309 4

原创 [SQL]多表查询

1.连接查询查询的数据来自多张表(z忽而)1.1内连接1.2.外连接1.2.1.左连接1.2.2.右连接

2021-06-16 17:33:45 489

原创 Log日志

可以写吗

2021-06-02 10:00:14 68

原创 【图示使用】doxygen+graphviz

1、问题:拿到一大段项目代码怎么看?!2、解决方案:使用工具生成函数调用链图,帮助分析整个项目方法的用法以及功能3、工具简介:(安装此两种工具,然后可以方便的分析代码,生成相应的函数调用图)doxygen:(http://www.stack.nl/~dimitri/doxygen/index.html)graphviz:(http://www.graphviz.org/)3.0、打开DoxyWizard时,如果弹出“打不开 XXX,因为它来自身份不明的开发者”请进入如下网址寻找解决办法http:

2020-11-03 16:25:54 596

原创 【C++】十分好用的Qt的多线程

“有了信号——槽的加持,Qt的线程便能傻瓜式同步”1、先看一些线程相关的类QThread 提供了开始一个新线程的方法 QThreadStorage 提供逐线程数据存储 QMutex 互斥锁 QMutexLocker 自动锁(在构造函数中自动对mutex进行加锁,在析构函数中进行解锁。需要用到mutable在const函数中修改被定义的非const变量) QReadWriterLock 读写锁 ...

2020-09-15 16:56:14 1067

原创 【C++】可能是最简单的多线程使用

1、包含 thread头文件,先看一段正常代码:#include <iostream>using namespace std;static mutex ut;void fun1(int num){ cout << "这是序列1 " << "应该首先执行" << endl; cout << "第一个序列已执行完" << endl;}void fun2(){ cout << "这是序列2 " <

2020-09-10 23:39:05 682

原创 Qt中用多线程处理高O复杂度函数体

1.需要使用多线程管理的例子  一个进程可以有一个或更多线程同时运行。线程可以看做是“轻量级进程”,进程完全由操作系统管理,线程即可以由操作系统管理,也可以由应用程序管理。Qt 使用QThread 来管理线程。QWidget *widget = new QWidget(this); QVBoxLayout *layout = new QVBoxLayout; widget->setLayout(layout); QLCDNumber *lcdNumber = new QLC

2020-09-10 22:24:21 174 1

原创 【C++】这可能是最不废话的文件操作步骤

I 话不多说,直接操作II 步骤:1、创建文件对象(fstream,ifstream,ofstream流): fstream file;2、确定文件路径; const string file_address = "C:/Users/kakaz/Desktop/w.txt";或者 const string file_address = "C:\\Users\\kakaz\\Desktop\\w.txt"; 注意不要使用单个’’。3、确定打开方式(写方式,定位到文件尾部) fi

2020-09-01 12:00:23 142

原创 【2020各互联网公司笔试小结】

1、【京东】编写一段程序,快速计算出2,3,5自由组合的由小到大的第n个数,也包括2,3,5。 运行结果:代码://京东笔试,第n个2 c3 5组成的数#include<iostream>#include<vector>using namespace std;void fun(int &num, int temp,int n){ if (temp <= 0) return; int sintece = n - temp; if (temp ==

2020-08-27 21:33:43 208

原创 【LINUX笔记】3_Linux常用指令

linux (本身就是基于文件系统的系统,一切皆文件)【基础命令】#文件:独立的东西,通过特定的工具打开,其中不能包含除了文字(二进制)以外的东西。文件夹:可以在其中包含其他的文件或者文件夹。windows(文件)=》linux(文件) windows(非文件)=》linux依然是文件操作:创建文件、编辑文件,保存文件、关闭文件。目录结构:Bin 二进制文件目录,存放二进制文件,文件皆为可被运行的Dev:存放外接设备,盘和其他光盘及设备等等,不能直接被使用,需要挂载。Etc:主要存放一

2020-08-24 18:13:27 193

原创 MySql

【mysql体系结构及基础管理】1、mysql 客户端/服务端工作模型(C/S)linux服务器: SSHD:22 <— ip:port root:123 —win:client:shell(putty)mysqld:3306 <----ip:port root:123 —sysyog navicat|mysql2、连接方式:i、本地socket链接方式:socket = /tmp/mysql.sockmysql -s /tmp/mysql.sock说明:只能在本地

2020-08-24 18:12:14 222

原创 【C++】写一写《剑指offer》 1~20

1、输入一个链表,按链表从尾到头的顺序返回一个ArrayList。class Solution {public: vector<int> printListFromTailToHead(ListNode* head) { //方法1 stack<int> A; vector<int> B; while(head!=nullptr) { A.push(head-&

2020-08-07 17:46:30 145

原创 【计算机组成原理面试】

【计算机硬件组成】【存储器层次(存取速度)】:寄存器高主储存速差一百倍【多级缓存】:多核共享三级缓存,都有各自的一级,二级缓存【缓存行】【MESI CACHE:其中一种缓存一致性协议】【】...

2020-06-30 14:42:28 351

原创 【Mysql】0Linux下mysql8.0傻瓜式安装与环境配置(阿里云)

写在前面:严格按照操作步骤能完美完成mysql安装,博主的环境是阿里云(centos7)0、利用shell工具进行远程连接linux系统,此处用的是putty。0-1:如果是自己的服务器的话直接用公网IP连接即可,如果是阿里云服务器,需要在官网获取秘钥,然后利用puttygen 对应ppk文件,然后在putty中Auth>>ssh中添加秘钥,然后再用@root+ip地址进行连接(官网有详细的描述)0-2:文件夹创建与权限配置#创建软件目录 [-P表示递归创建]mkdir -

2020-06-24 17:06:39 433

原创 【C++】Socket网络编程形象概述

网络7层:物理层、数据链路层、网络层(ip协议)、传输层(Tcp协议)、会话层、表示层、应用层(http协议)。socket就是对(IP和TCP协议的封装和应用,传输层的协议 ),方便程序员使用协议栈,利用socket建立网络连接的步骤:**服务器监听、客户端请求、连接确认。I、windows下socket为套接字 API,为使用者提供一个与协议吾观的通用接口,一个套接字为一个通信端,是指向传输发起者的句柄。  主流三种套接字: 流套接字,数据报套接字,原始套接字。   流套接字:双向、有序、可靠

2020-06-13 22:52:10 297

原创 【C++】类中拷贝构造注意事项与strcpy_s和memcpy_s注意事项

   vector等一系列容器在添加或者插入元素时,都是创建新的实例然后将需要添加的对象进行拷贝,例如push_back()或者insert(),调用的都是类的构造函数 class (class ),默认的直接给对应的成员赋值,对于指针则只会拷贝指针指向的地址,当需要添加的元素析构或者删除后,则会影响容器内的元素。   所以需要重写拷贝构造函数。 A(const A& b) A& operator=(const A&b),此处必须用引用,否则需要添加临时的类对象,则又会调

2020-06-12 15:26:14 550

原创 【C++笔记】1_常用数据结构算法

1、习惯类中bool仿函数作为定义条件。

2020-06-11 23:24:51 315

原创 【C++】原码反码补码最简洁使用总结

一、有符号数和无符号数有符号数: 范围( 0 ~ 15 ) 0000 = 0 ,1111 = 15。[总共16个数 ]无符号数: 范围( -7~+7) 1111 = -7 ,1000 = -0,0000 = +0 ,0111 = +7;[四位有符号数同样表示16个数,其中正负0表示两个数]二、原码表示 (能满足同正号的数和无符号数相加,异号相加出错)表示方法: 一中四位 8 4 2 1 和 ± ( 4 2 1)即为原码表示方法。计 算: 0100(

2020-06-08 14:54:53 657

原创 【C++】用栈的思想解决连续输出++i和i++的ud行为

++i 和 i++函数分析:**函数 i++:**i 自增1,返回值为未自增前的 i的值。int ipp(int & i){ int t = i; i = i + 1; return t;}函数 ++i : i 自增1, 返回值为 i 本身。int ppi(int & i){ i = i + 1; return i;}分析步骤:...

2020-06-05 15:57:40 341

原创 【C++】二进制读写文件

const char* filename = "C:\\Users\\kakaz\\Desktop\\kaka.txt"; //ifstream fim(filename, ios::in); //只读打开 char p; int i = 0; person p1("卡卡", 25), p2("molaiwei", 43); //二进制放在内存 fstream ouf(filename, ios::out | ios::binary); //二进制写方式打开文件 ouf.write((cha

2020-06-05 01:34:31 136

原创 【C++】忽略逗号或者自定义符号输入

例如,输入以逗号隔开的字符,忽略逗号1,2,3,4,,a,s,sdsd,schar*p; p = new char[100]; int i = 0; while (cin.get(p[i])) //逐个从流中读取字符到p中 { if (p[i] == ','|| p[i] == ' ') //忽略 空格和逗号 { continue; } else if (p[i] == '\n') //读取到空格时结束输入 { p[i] =NULL; break;

2020-06-04 23:00:40 4332

原创 【C++】异常机制

基本语法:throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的。try 块中的代码标识将被激活的特定异常。它后面通常跟着一个或多个 catch 块。catch: 在您想要处理问题的地方,通过异常处理程序捕获异常。catch 关键字用于捕获异常。注意事项:1、C++的异常是跨函数的。2、C++的异常必须处理,不然程序直接结束。示例代码://功能函数int test01(int x,int y){ if (x == 0) { throw x

2020-06-04 16:20:15 205

原创 【C++】最简洁的工厂和策略模式理解

简单工厂模式:工厂类里由不同的传参返回不同的类型对象实例,实例便可以调用相应类型的成员(函数)。策略模式:类型对象在策略类中已经被创建成成员,根据用户传参(构造策略类型对象时)选择不同的类型指向,不同类型选择时需要的功能封装成成员函数即可工厂方法模式:相对于简单工厂模式,虚拟化工厂基类,让不同的子类实现对不同类型对象进行创建和操作。虚拟工厂模式:相对于工厂方法模式,每个工厂要生产两族的可能不同类型的产品(例如两个工厂AB,都需要生产家电和五金两族产品),A生产电视机和电锯,B生产冰箱和钢管,那么虚拟

2020-06-03 12:49:24 221

原创 【C++】多级指针开辟空间

#include <iostream>using namespace std;int main(){ //常规三维数组 char p[3][3][5] = { {{"kaka"}},{{'b','b2'}},{{'c','c2'}} }; //动态分配三维数组空间 char (*p1)[2][5]; //动态分配只能给指针指向的地址分配空间 p1 = new char[6][2][5]; //动态分配三级指针空间 char ***p2; p2 = new char

2020-05-28 19:57:02 767

原创 【C++】最好懂的归并排序讲解(附程序)

由于快速排序不稳定,所以大佬们引入归并。步骤大概如下:I、先看一组无序数组: 19 ,97 ,09, 17, 01,08II、然后分组,先将数组序列每一个成员分成一组(如下图):**III、将两组按指定顺序合并到一组,我们此处由小到大,如果是自定义类记得重载比较运算符。**IV、重复步骤III。V、直到只有唯一一组时,排序完成,结果即为当前数组。(理解起来是不是很简洁,时间复杂度:O(n log n))***好了我们要开始敲程序了:(注意看注释)**#include <i

2020-05-28 16:40:46 303

原创 【C++】快速排序overflow栈溢出问题

今天对电路节点进行序号快排时出现了缓冲区溢出的问题,代码简化如下:template<typename T>//2、分组函数int packet(T* array2, int low, int high){ T pv = array2[low]; cout << "此时array[low]: "<<pv <<"low: "<<low<<" high: "<< high<<endl; while (lo

2020-05-27 21:16:49 1686

原创 【C++】谨以此文纪念不起眼的指针给我的迎头暴击,用以警示自己保持细心

错误一眼可见:访问的指针为空#include "pch.h"#include <iostream>#include<string>using namespace std;typedef void linklist;typedef struct _LinkListNode { struct _LinkListNode *next; /*本身对...

2020-05-01 21:46:22 192

原创 【C++】字符指针的正确赋值和输入输出

如何给一个字符指针char *p 赋值?很多人会迅速的写出:我看到很多博客上面写的是这样操作:char *p; p="hello"; 在C语言中这种方式确实是被允许的,但是到c++11中会给出警告(报错):错误提示的意思是我们将一个字符串常量绑定地址绑定到了一个非常量字符指针上,C语言中隐式转换成了char* ,但是c++就拒绝了这个操作,让人自行承担这个后果,所...

2020-05-01 09:23:55 8031 1

原创 【电路仿真软件框架】二、对元器件基类的封装

## 对于整个CirSim软件的的架构,我的思路是将GUI和DATA分开编写,分别放在SoftGUI和ACSimulator文件夹中。

2020-04-23 13:11:04 520

原创 【电路仿真软件框架】一、前言

利用计算机进行电路搭建与仿真相对于传统手工搭建电路有很大的优势,但现阶段国内缺少自主产权的电路仿真系统框架与求解器算法,成熟的电路仿真软件更是屈指可数,比较有知名度的是立创 EDA 与 Robei EDA,但均是 windows 平台闭源商业软件,对于研究电路仿真软件本身工作流程不友好,无法有针对性地进行二次开发。 从国内外电路仿真软件发展形势看,各大知名企业的电路仿真软件技术已 经非常成熟,但均...

2020-04-17 14:17:41 509

原创 【C++】500行代码全解STL_string_vector_remove和erase实现逻辑_deque_queue_list_pair_set_multiset_map_multimap

//STL六大类://容器: 各种数据结构(Vvector,list,deque,set,map等等)//算法: 常用算法,如sort,find,copy,for_each.//迭代器: 容器和算法间的联系纽带//仿函数: 行为类似仿函数,可作为算法的某种策略。//适配器(配接器: 修饰容器和或者仿函数迭代器接口的东西//空间配置器: 负责空间的配置和管理。#include ...

2020-03-11 02:57:21 457

原创 【C++】多态中的虚继承和内存泄漏问题

1、首先讲虚函数的内部实现原理:当父类用virtual关键字创建虚函数时,即创建了一个虚函数指针(vfptr)指向虚函数表(vftable),每当父类被继承时,均会在表中为新的子类开辟一个新的空间(4个字节)用以存放指针,该指针指向子类对该虚函数的重写地址,当子类中有重写操作时,该地址指向的内容即会从原父类的默认进行改变,有多少个子类实现,则有该表就存放多少个地址,当虚函数被调用时,无论调用时传...

2020-03-05 17:36:48 652

转载 Spice语法及调用

常用的SPICE仿真软件为方便用户使用都提供了较好的用户界面,在用仿真库中的元器件连成原理图后就可以进行仿真(当然要设置必要的仿真参数),但实际上只是用原理图自动产生了SPICE的格式语句,还是要通过读取语句来进行仿真,这是历史的遗留问题。在当时的技术条件下,不能用图形方式输入电路结构,只能通过文本文件来描述,也就是所谓网表。SPICE软件的设计者规范了要进行仿真的电路对应的SPICE网表文件格...

2020-03-02 19:39:24 23443

原创 【C++】策略模式

//策略模式#include "pch.h"#include <iostream>using namespace std;//武器策略class weaponStrategy{public: //抽象的武器策略 virtual void useWeapon() = 0;};//步枪class ak :public weaponStrategy{public...

2019-10-15 19:43:26 115

原创 【C++】模板类的使用

// 1015_02模板类的使用.#include "pch.h"#include <iostream>using namespace std;class DrinkTemplate{public://操作步骤 //烧水 virtual void BoildWater() = 0; //冲泡 virtual void Brew() = 0; //入杯 vi...

2019-10-15 19:42:36 170

原创 【C++】适配器模式

// 1015_01适配器模式.cpp#include "pch.h"#include <iostream>#include<algorithm>#include<vector>using namespace std;//写好的类class adpet{public: void operator()(int v1,int v2) { c...

2019-10-15 19:41:49 99

原创 【C++】单例模式,饿汉模式和懒汉模式的创建

【C++】单例模式#include "pch.h"#include <iostream>using namespace std;//实现单例步骤://1、构造函数私有化。//2、增加静态私有当前指针变量//3、提供静态对外接口,可以让用户获得单例class A {private: A() { a = new A; }public: //外部访问唯一途径...

2019-10-12 19:44:44 185 2

golang实现aes-256-cbc

golang标准库每次只支持加密16个字节(即128bit)长度的密钥,拿到二级密钥明文和IV向量后,无法解密openssl aes-256-cbc密文。

2023-02-21

计算机网络基础.docx

入门网络

2021-07-01

c++基础到类模块

c++基础到类模块,自己学的时候随便敲的,觉得需要可以参考看一看

2019-04-26

C语言入门学习过程__带代码

每一个分割线质检的程序单独运行吗,都是些有助于理解的小程序,注释非常清晰,也是我当时学习的过程中自己敲的。

2019-04-09

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

TA关注的人

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