自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 vector容器

1. vector:1.1 vector 说明类似string类,也是一种动态数组,可在运行阶段设置长度,末尾或中间插入数据进行vector操作前应添加头文件#include <vector>vector在名称空间std中,可以使用using编译指令、using声明或std::vector使用不同语法来指明存储的类型和不同元素数1.2 vector初始化:一般而言vector<typename> vt(n_elem);常见的初始化方法//定义具有10个整型元素

2020-12-03 14:53:57 261 1

原创 VS语言兼容性问题

VS Studio报无法从const char* 到 char * 的转换主要是兼容性设置的问题,在项目的属性中,找到如下设置,将符合模式改为否可解决

2021-10-04 14:40:13 321

原创 array解析及操作

介绍模板定义的一种相当于标准数组的容器类型。使用创建std::array<double, 100> data {}; // 创建100个double,值全0std::array<double, 10> values {0.5, 1.0, 1.5, 2.0}; // 值初始化赋值values.fill(3); // 所有元素全部赋值3源码从里面可以看到支持了begin end 和sizetemplate <typename T> struct A

2021-08-26 11:16:26 470

原创 VS常用快捷键

平时不怎么习惯用VS快捷键,决定学习一些常用的,注释:Ctrl+K Ctrl+C 添加行注释Ctrl+K Ctrl+U 移除行注释整行操作:Alt+ ↑ / ↓ 移动行向上向下Shift+Alt + ↓ / ↑ 拷贝行向上向下Ctrl+Shift+K 删除整行Ctrl+Enter 下面插入一行Ctrl+Shift+Enter 上面插入一行浏览操作:Ctrl+Home 文件起始Ctrl+End 文件末尾Ctrl+↑ / ↓ 滚动行Alt+PgUp / PgDn 滚动页...

2021-08-26 10:41:10 239

原创 top命令

命令操作怎么使用toptop [-d number] | top [-bnp]-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。-b:以批次的方式执行top-n:与-b配合使用,表示需要进行几次top命令的输出结果-p:指定特定的pid进程号进行观察。获得top回显后的显示调整,按键盘数字“1”可以监控每个逻辑CPU的状况敲击键盘‘b’(打开关闭加亮效果敲击键盘‘x’(打开/关闭排序列的加亮效果)”f”进入另一个视图可以编辑基本视图中的显示字段各输

2021-08-26 10:28:48 181

原创 GDB调试

安装ubuntu在root用户下,apt-get updateapt-get install gdb基本调试加入调试信息,需要在结尾加ggcc –o filename filename.c -g**o选项的作用是:**对命令输出结果进行导入操作,这里是把gcc –o a a.c -g的操作结果输出到文件a(文件名可以自定义)中进行保存。**g选项的作用是:**在可执行文件中加入源码信息,比如:可执行文件中第几条机器指令对应源代码的第几行,但并不是把整个源文件都嵌入到可执行文件中,而是在

2021-08-24 10:11:05 76

原创 分布式概念

定义分布式是其组件分布在联网的计算机上,组件之间通过传递消息进行通信和动作协调的系统。其中的例子比如多人在线游戏,金融交易系统。

2021-08-18 21:41:30 85

原创 微服务学习

微服务背景优缺点分析常用的手段

2021-08-12 23:58:20 59

原创 crontab 不起作用问题排查

背景ubuntu上运行了几个python脚本,主要用的是selenium,手动命令行执行的时候没有问题,然后加到crontab -e中时,到时间不执行。解决先观察cron log日志中的内容,在/usr/var/log目录下,如果没有cron.log文件,说明没有打开日志定义,执行vim /etc/rsyslog.d/50-default.conf,去掉屏蔽如下图所示,观察日志中的记录,我遇到的了MTA没有安装的问题,这个问题只会影响要输出到控制台信息的脚本,可以在crontab中定向到log文件

2021-08-06 22:13:03 739

原创 epoll

简介应用

2021-08-04 23:55:36 52

原创 微服务架构

简介实现优缺点分析

2021-08-03 00:36:49 71

原创 GDB调试

实习期间使用的是C,这里以C举例,最简单的例子首先编译一个测试程序,gcc -g test.c -o test启动gdb,gdb testlist(简写 l): 查看源程序代码,默认显示10行,按回车键继续看余下的。run(简写 r) :运行程序直到遇到 结束或者遇到断点等待下一个命令;...

2021-08-03 00:32:30 89

原创 仿函数

概念介绍仿函数是早期的命名,C++标准规格定案后采用的名称是函数对象(一种具有函数性质的对象)。这种东西在调用者看来可以像函数一样被调用。若需要使用内建的仿函数,需要引入< functional >头文件。...

2021-05-25 16:53:21 78

原创 迭代器

设计思维首先明白一点,这是一种设计模式。。。它的定义是:提供一种方法,使之能够依序寻访某个聚合物(容器)所含的各个元素,而又无需暴漏该聚合物的内部表述方式。对应到STL的设计中来,我们已经有了算法,有了容器,为了不暴露容器的设计细节而使得算法能够访问到数据而产生的一种东西,作为中间的粘合剂。它是一种类似指针的对象,而指针的各种行为中最重要的也就是内容提领和成员访问。迭代器是对这两点进行重载。...

2021-05-25 16:36:33 47

原创 空间配置器

特殊的空间配置器:alloc先考虑一般而言,我们习惯的C++申请内存和释放内存的流程,class Foo{ ... };Foo* pf = new Foo;delete pf;new包含了两部分操作:申请空间,构造对象内容,delete也包含了两部分操作:析构,释放内存。allocator决定将这两阶段区分开来,内存配置操作由alloc:allocate负责,内存释放操作由alloc:deallocate负责,对象构造由::construct负责,对象析构由::destroy负责。这

2021-05-24 11:15:53 242

原创 C++与MySQL连接中文乱码,异常问题

要在数据库连接完成后进行下述操作中的一种:mysql_query(sock, "SET NAMES GB2312");mysql_set_character_set(sock, "gb2312"); //gb2312 中华人民共和国简体字标准如果在初始化中进行,会报异常。

2021-04-26 21:57:34 140 1

原创 Lambda表达式总结

介绍C++11中用于定义并创建匿名的函数对象,其组成如下:格式为:[函数对象参数](操作符重载函数参数)mutable或exception ->返回值{函数体}①函数对象参数;[],标识一个Lambda的开始,这部分必须存在,不能省略。函数对象参数是传递给编译器自动生成的函数对象类的构造函数的。函数对象参数只能使用那些到定义Lambda为止时Lambda所在作用范围内可见的局部变量(包括Lambda所在类的this)。函数对象参数有以下形式:[] 没有使用任何函数对象参数。[=]

2021-02-23 22:04:54 78

原创 信号与槽的梳理

介绍原因首先,我们假定有两个对象,来自不同类的实现,它们内部有着自己的属性,可以使用自己的成员函数来操作属性,这本身没有什么问题。但是,在某些情景下,我们需要在一个对象中做一些操作,使得另一个对象能够响应这样的操作完成其自身状态的改变。那么,我们如何使两个不相干的对象产生这种联系,就引出了信号与槽这样一个信息传输机制。理解简单理解,就是某个事件的发生,产生一个广播的信号,连接到需要该信号来完成某些操作的一个函数上。这样的函数被称作槽(slot)。槽已收到连接的信号就会被调用执行。本质上,槽就是

2021-02-23 21:52:34 141

原创 状态机

介绍及分类状态机简写为FSM(Finite State Machine),也称为同步有限状态机。数字系统有两大类有限状态机(Finite State Machine,FSM):摩尔(Moore)状态机和米勒(Mealy)状态机。摩尔(Moore)状态机:其最大特点是输出只由当前状态确定,与输入无关。Moore状态机的状态图中的每一个状态都包含一个输出信号。换言之,在状态中包含了和输出的映射关系米勒(Mealy)状态机:它的输出不仅与当前状态有关系,而且与它的输入也有关系,因而在状态图中每条转

2021-02-22 22:15:14 264

原创 GTX高速技术

概念介绍GTX(Gigabit Transceiver)即G bit 收发器,是为了满足现代数字处理技术和计算技术庞大数据的高速、实时的传输,目前主要应用在片间通信(两片FPGA之间,FPGA与DSP之间等)、板间通信(电脑主板与交换机,硬盘与主板等)等。出现原因传统的并行传输技术存在抗干扰能力低,同步能力差,传输速率低和信号质量差等问题。GTX目前的线速度范围为1Gbps ~ 12Gbps,有效负载范围为0.8Gbps ~10Gbps,目前GTX已经应用于光纤通道(FC),PCI Express,

2021-02-21 20:03:08 1806

原创 STL中常用函数

用来记录在刷算法题时非常常见的函数使用,一定要熟练使用。

2021-01-28 11:57:34 137

原创 DDS信号发生器

介绍基本概念:定义:DDS信号发生器,采用直接数字合成,英文名Direct Digital Synthesizer。特点:与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点。结构:它主要包括相位累加器、相位调制器、ROM 查找表、D /A 和低通滤波器,基本结构如下所示。工作原理ROM查找表:首先,我们先分析ROM查找表中存储的是什么,我们要做一个信号发生器,那么这个周期信号一定有它的一个周期的完整形状,计算机中想要描述这样的形状,我们熟悉的是通过AD控制采

2021-01-24 20:43:19 2284

原创 容器总结

概念容器是什么容器定义:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对象的指针,这种对象类型就叫做容器。定义简单理解:容器这种对象类型,从单词表面意思理解就是包含,包含了什么呢,是我们需要的存储结构的对象,这样的对象集成了特定存储结构和对存储的操作方式,可以重复利用这些代码方便编程。在C++中的容器:因为C++ 中处理容器是采用基于模板的方式,在C++ 中,标准模板库(STL )中包含了容器。STL中的容器提供了多种数据结构,例如栈,队列,数组等等。这些内容大家一定很熟悉。通用

2021-01-24 13:39:34 166

转载 常用排序算法

算法简介:sort //对容器内元素进行排序random_shuffle //洗牌 指定范围内的元素随机调整次序merge // 容器元素合并,并存储到另一容器中reverse // 反转指定范围的元素sort功能描述:对容器内元素进行排序函数原型:sort(iterator beg, iterator end, _Pred);// 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置// beg

2021-01-24 10:13:49 64

原创 queue 容器

queue 基本概念概念: Queue是一种先进先出的数据结构,它有两个出口队列容器允许从一端新增元素,从另一端移除元素队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为队列中进数据称为 — 入队 push队列中出数据称为 — 出队 popqueue 常用接口构造函数:queue<T> que; //queue采用模板类实现,queue对象的默认构造形式queue(const que

2021-01-24 10:00:36 74

原创 stack容器

stack 基本概念概念: stack是一种先进后出的数据结构,它只有一个出口栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据称为 — 入栈 push栈中弹出数据称为 — 出栈 popstack 常用接口功能描述:栈容器常用的对外接口构造函数:stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式stack(const stack &s

2021-01-24 09:53:23 186

原创 set相关容器

set基本概念简介:所有元素都会在插入时自动被排序本质:set/multiset属于关联式容器,底层结构是用二叉树实现。set和multiset区别:set不允许容器中有重复的元素multiset允许容器中有重复的元素set构造和赋值功能描述:创建set容器以及赋值构造:set<T> st; //默认构造函数:set(const set &st); //拷贝构造函数赋值:set&amp

2021-01-24 09:47:56 62

原创 list 容器

基本概念链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的链表的组成:链表由一系列结点组成结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域STL中的链表是一个双向循环链表:list的优点:采用动态存储分配,不会造成内存浪费和溢出链表执行插入和删除操作十分方便,修改指针即可,不需要移动大量元素list的缺点:链表灵活,但是空间(指针域) 和 时间(遍历)额外耗费较大List有一个重要的性质,插入操作和

2021-01-24 09:34:40 83

原创 sort容器

list基本概念功能: 将数据进行链式存储链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的链表的组成:链表由一系列结点组成结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域STL中的链表是一个双向循环链表由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器优缺点分析:list的优点:采用动态存储分配,不会造成内存浪费和溢出链表执行插入和删除操作十分方便,修改指

2021-01-23 12:46:07 128

原创 deque容器

基本概念功能:双端数组,可以对头端进行插入删除操作deque与vector区别:vector对于头部的插入删除效率低,数据量越大,效率越低deque相对而言,对头部的插入删除速度回比vector快vector访问元素时的速度会比deque快,这和两者内部实现有关deque内部工作原理:deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间,支持随机访问。deque构造函数函数原型:和vec

2021-01-23 12:25:35 110

转载 string 容器

基本概念本质:string是C++风格的字符串,而string本质上是一个类string和char * 区别:char * 是一个指针string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。特点:string 类内部封装了很多成员方法,例如:查找find,拷贝copy,删除delete 替换replace,插入insertstring管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责string构造函数构造函数原型:

2021-01-23 11:23:08 76

原创 map相关容器

本文主要是介绍map/multimap/unerdered_map/unerdered_multimap的使用,优缺点和使用场景对比。后续随着学习的深入慢慢补充。

2021-01-22 11:44:33 109

原创 STL介绍

STL初识来源希望代码可重复利用,基于面向对象和泛型编程思想,诞生了STL这样一个为了重复利用数据结构和算法的东西(标准模板库)。基本概念STL几乎所有代码都采用了模板类或者模板函数。1、STL六大组件STL大体分为六大组件,分别是:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器。容器:各种数据结构,如vector、list、deque、set、map等,用来存放数据。算法:各种常用的算法,如sort、find、copy、for_each等迭代器:扮演了容器与算法之间的胶合剂。

2021-01-21 11:19:11 261

原创 TortoiseGit使用密钥免密码推送

Tortoise使用密钥免密码推送使用TortoiseGit时总是提示输入账号密码,又不想在全局配置中保存明文的账号密码,可以使用已有的ssh私有密钥来实现。密钥格式转换首先,我们需要将git的密钥进行格式转换,得到.ppk文件1.打开Tortoise自带的工具2.输入已有的私有密钥,点击load,再点击save3.在TortoiseGit 的设置中选择如下,就可以了...

2021-01-18 13:00:21 313

原创 Git 使用

Git的配置用户名和邮箱标识通过如下设置全局的用户名和邮箱地址,git config --global user.name "username"git config --global user.email "useremail"基本使用状态查看git status //检查文件状态git log //查看历史变更记录cat filename //查看当前的文件内容,filename写要查看的文件名版本回退相关cat filename //filename写要查看的文件名git

2021-01-18 12:36:57 55

原创 ISE的FIR IP核实现

IP核参数设置滤波器系数产生和Quartus不一样,Vivado的FIR Compiler没有提供设计FIR滤波器和生成滤波器系数的功能,因此需要使用MATLAB等其它工具设计好滤波器再将系数导入到IP核中。有两种方法:1、MATLAB的FDATOOL工具在设计好滤波器后,可以直接生成IP核需要的coe文件:matlab的命令行输入filterDesigner打开滤波器设计工具,设计合适的滤波器后记得选fix point,然后导出coe文件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下

2021-01-15 21:45:18 1747

原创 进制转换求距离

进制转换问题问题描述给定一个正整数 n,找到并返回 n 的二进制表示中两个相邻1之间的 最长距离 。如果不存在两个相邻的1。返回 0。思路个人比较倾向于找到测试用例的二进制的1所在位置存储到数组中,再计算数组中相邻两个数字的差值找最大即可。程序public: int binaryGap(int n) { int cnt = 0, max = 0; int shuzu[36] = {0}; for (int i = 0;n != 0;i++)

2020-11-04 13:21:24 255

原创 数据结构刷题---数组

转置矩阵题目解题思路代码解析题目给定一个矩阵 A, 返回 A 的转置矩阵。解题思路先创建一个与原始矩阵行列数互换的新矩阵做两个循环嵌套,内循环遍历原始矩阵的行转列,外矩阵遍历原始矩阵的列代码class Solution {public: vector<vector<int> > transpose(vector<vector<int>>& A) { vector<vector<int> &

2020-11-03 12:06:46 83

keyboard-shortcuts-windows.pdf

VS code快捷键学习文件,帮助记忆掌握快捷键

2021-08-26

空空如也

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

TA关注的人

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