自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Ubuntu envs setting

【代码】Ubuntu envs setting。

2024-01-04 17:30:51 652

原创 【openCV图像处理】提取pdf文档中的文字,用以黑白打印

ppt课件转换为pdf之后字体颜色以及背景无法改变,彩底白字,在打印时极不方便,一张张地修改又耗费时间,故采用图像处理的方法进行批量化处理。

2023-02-03 22:42:52 738

原创 【环境配置】Windows 环境下 Qt 5.14.2 控制台中文乱码问题

解决 Windows 环境下 Qt 5.14.2 控制台中文乱码问题摘要:本文记录了Qt 控制台 中文字符无法正常显示的解决流程。关键点:环境配置1. 编码格式 “utf-8”确保Qt文件编码格式正确。2. 查看控制台属性在控制台,右击打开属性页,查看:当前代码页。即表示当前控制台是以GBK编码格式显示的,与utf-8 格式不符,自然无法正常显示中文。3. 修改注册表中Qt的 CodePage值打开注册表 cmd: regedit找到该界面,在当前用户中找到控制台(cons

2022-05-03 15:01:41 2516 2

原创 计算机图形学方向的基本能力

https://www.bilibili.com/video/BV1KK4y1K7qSCADCG校企讲座:图形学能干啥系列。

2021-08-16 18:37:45 407

原创 C++_restart

Fast againC++快速过一遍,理清C++基本知识框架。画出思维导图 — 10days.STL回顾其基本特性,重点放在会用上边!!通过leetcode来熟练。 — 3days.数据结构与算法,基本回顾,通过leetcode来训练。 — fast again!重点先放在动手写代码上!!!先写起来!!!有趣的问题C++ 怎样让函数返回数组函数调用的实现机理C+...

2020-04-02 16:07:53 798

原创 You jump ,i see you JMP——一堆堆的跳转指令

跳转指令分三类:一、无条件跳转: JMP;二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转);三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了.根据标志位跳转的指令:11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF...

2019-10-28 17:49:30 484

原创 数据结构——搜索二叉树的结点删除。

本篇讲解搜索二叉树删除结点时的N多种情况,附C实现代码。关于搜索二叉树的有序创建、查找、查找最大最小节点 以及求父节点,可查看此篇。https://blog.csdn.net/qq_41958529/article/details/99669751:::...

2019-08-16 11:20:00 179

原创 数据结构——搜索二叉树

本篇实现了搜索二叉树的有序创建、查找、查找最大最小节点 以及求父节点bst.h#include "bst.h"typedef struct _TreeNode{ int data; struct _TreeNode *left; struct _TreeNode *right;}TreeNode;void initTree(TreeNode **t);...

2019-08-16 01:50:36 200

原创 数据结构——二叉树之七种遍历

本篇主要来实现二叉树的遍历1.递归实现三种递归遍历的方式 本质上压栈顺序是相同的。 printf位置决定访问顺序。(即遍历一次二叉树时,一个结点有三次访问的机会,printf的位置决定哪一次访问)//先序遍历void preOrderTraverase(TreeNode *t){ if(t) { printf("%d",t->_data)...

2019-08-15 18:35:45 247

原创 数据结构——linkQueue

链队列typedef struct node{ char data; struct node *next;}Node;typedef struct queue{ Node *front; Node *rear;}Queue;void initQueue(Queue *q);int isQueueEmpty(Queue *q);void e...

2019-08-14 22:16:55 731

原创 数据结构——loopQueue、

循环队列。loopQueue.h#include "loopqueue.h"typedef struct queue{ int front; int rear; char *space; int len;}Queue; void initQueue(Queue *q,int len); int isQueueFull(Queue ...

2019-08-14 22:15:05 247

原创 数据结构——linkStack、

2.链栈link_stack.h#include "link_stack.h"#include <stdlib.h>#include <stdio.h>typedef struct _SNode{ char _data; struct _SNode * _next;}SNode;typedef struct _Stack{ ...

2019-08-13 20:55:09 599 1

原创 数据结构——sequenceStack

1.顺序栈sestack.h#include "sestack.h"typedef struct _stack{ int len; int top; char *space;}Stack;void initStack (Stack *ps, int len);int isStackFull (Stack *ps);int isStackEmpty ...

2019-08-13 20:52:48 333

原创 C 笔记。

1. sleep 和 usleepsleep(): 表示挂起一段时间sleep(2); 表示挂起2susleep(); 将进程挂起一段时间usleep(200); 表示挂起200微秒  void usleep(int micro_seconds);  内容说明: 本函数可暂时使程序停止执行。参数 micro_seconds 为要暂停的微秒数 (us)。头文...

2019-08-10 17:59:41 231

原创 C——贪吃蛇 V1.0版本

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <windows.h>#include <conio.h>#include <unistd.h>//Foodtypedef s...

2019-08-10 16:54:33 141

原创 ROS ——初级教程常见问题汇总

1.linux中用root用户source profile提示权限不够涉及到文件权限问题,文件目录 ~/etc/profile 为此文件添加读写权限。(chmod加到最大就完事了)查看权限 ls -ld /etc/profile修改权限 sudo chmod 755 /etc/profile #刷新环境 方法一 source~/tutorial_ws...

2019-08-03 19:17:35 819 1

原创 VM下Ubuntu 16.04 连接Xshell6 ssh服务器拒绝密码的问题。

Ubuntu连接Xshell 或Xftp,正常的连接步骤不在此赘述,本文主要来说说连接过程中的痛点。以Xshell为例。1.在Xshell中输入主机(ip)之后,不显示任何界面后失败。在Xshell中输入主机(ip)之后,不显示输入用户名密码直接返回主界面。Could not connect to '192.168.1.222' (port 22): Connection ...

2019-08-02 10:20:07 1527 2

原创 C++——多态实现原理剖析

此处懵懂。先占个地,懂了再来补充。1、虚函数表测试代码:#include<iostream>using namespace std;class Base{public: virtual void f() { cout << "void f()" << endl; } virtual void g() {...

2019-07-03 15:27:37 151

原创 C++——基于多态的设计模式DIP

基于多态的依赖倒置原则 DIP (Dependency Inversion Principle)在设计一个系统的过程中,存在这几个模块:(1)高层模块(负责复杂的业务逻辑) (2)底层模块(负责具体的实现操作)传统的过程化设计:自顶向下,逐层分解。使高层次的模块依赖于低层次的模块。如果让高层模块直接依赖底层模块,那么如果高层需要变动,则低层也要跟着全部修改,将会带来不必要...

2019-07-02 15:28:17 625

转载 C++虚函数实现机制

转自:c++虚函数大牛的文章,通俗易懂,言简意赅。拿来膜拜一下。(真实原因:原文都是倾斜体,看的头歪 /xiaoku.jpeg)前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来...

2019-07-01 20:40:55 328

原创 C++——Polymorphism 多态

多态,字面理解就是一个事物的多种形态。实际上是:不同的事物对同一行为做出的不同的反应。C++中的多态:由继承而产生的相关的不同的类, 其对象对同一消息会作出不同的响应。多态性是面向对象程序设计的一个重要特征, 能增加程序的灵活性。 可以减轻系统升级,维护,调试的工作量和复杂度。1、赋值兼容 Assign Compatible在需要基类对象的任何地方, 都可以使用公有派生类的对...

2019-07-01 01:15:39 372

原创 C++——Inherit && Derive

继承:实现了代码的可重用性。类的继承, 是新的类从已有类那里得到已有的特性。 或从已有类产生新类的过程就是类的派生。原有的类称为基类或父类, 产生的新类称为派生类或子类。派生与继承, 是同一种意义两种称谓。继承:Is a 的关系 public;语法:1、单继承Class Derive :public Base{}2、 多继承Class Derive:publi...

2019-06-28 17:36:13 1290

原创 C++——运算符重载实践

操作符左右同类重载重载举例:重载 + 实现两个符数的相加; 重载 << 流输出运算符 实现 cout<<c<<endl; 直接输出c的real&imagine。(1)重载 + 部分,分别用友元和成员重载。体会两者不同 友元重载时,+函数定义在类声明之外,得传递两个参数c1,c2 使其相加。 operator+(c1...

2019-06-21 23:08:51 185

原创 C++——奔放的友元

奔放的友元C++中采用类的机制后实现了数据的隐藏与封装, 类的数据成员一般定义为私有成员, 成员函数一般定义为公有的。依此提供类与外界间的通信接口。但是, 有时需要定义一些函数, 这些函数不是类的一部分, 但又需要频繁地访问类的数据成员, 这时可以将这些函数定义为该类的友元函数。除了友元函数外, 还有友元类, 两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型和安全性检查及...

2019-06-17 11:34:13 137

原创 C++——类扩展

1、class member storagesizeof ( class )sizeof 求类的大小会发现,类的大小取决于数据成员的大小,而与成员函数没关系。成员函数并不用类的存储空间。这就很纳闷了,成员函数不需要面子的嘛? 为啥不给朕空间呢?#include <iostream>using namespace std;class time{public:...

2019-06-14 00:48:29 3068

原创 C++链表封装

头文件 mylist.h#ifndef MYLIST_H#define MYLIST_Htypedef struct node{ int data; //数据域 struct node *next; //指针域}Node;class mylist{public: mylist(); ~mylist(); void insertLis...

2019-06-09 12:00:38 487

原创 C++——构造器与析构器

引入:在使用Class时,得先自己初始化一段空间。 类外成员函数:void init();但是在有了构造器之后可用构造自动初始化一段空间。Class Stack{ Stack() //有参与无参定义 (默认值?) { Top = 0; Space = new char (1024);}//Void init ( ); // 用如上 Stack()构造器 取代 并且...

2019-06-09 00:45:47 536

原创 C++——封装

C语言封装风格:C语言中 将数据放到一起用struct打包,然后把数据以引用或者指针的方式传递给行为函数。(C中 数据和行为函数是分开的,C++中struct可放在一起。但是用C++用struct封装的类,既知其接口,又可以直接访问其内部数据,这样却没有达到信息隐蔽的功效 --> 由此引出C++的类:类名也是一种变相的命名空间)C++封装1、数据和行为分开,没有权限控制。...

2019-06-07 01:11:58 886

原创 C++——string 超强进阶

string 是 C++中处理字符串的类,是对 c 语言中字符串的数据和行为的包装。 使其对字符串的处理, 更简单易用。C++中 类string 相比C增强的地方:(1)赋值更简单,更加开放!(2)字符串可实现 + < > = != += 的运算骚操作(3)字符串成员函数 代替 <string.h>中的各种常用操作(查找、求长、比较 and s...

2019-06-06 01:02:48 170

原创 C++——Namesake命名空间

在大型项目中,由多个人共同完成的项目可能存在同名的函数或是全局变量而产生冲突。C++引入命名空间,在每个模块出现重名的情况下仍可以正常工作。(1)全局无名命名空间 :: v ::func() 可以表示全局变量或函数(2)Namespace 。期本质是对全局空间再次划分。确切的说,是对全局的函数和变量再次进行作用域打包 可以应用于多种类型。 如

2019-06-06 00:08:15 151

原创 C++——Inline 函数

Inline函数是介于宏和普通函数之间的 函数体。集宏和普通函数的优点于一体inline:优点 : 避免调用时的额外开销(入栈与出栈操作) 代价 : 由于内联函数的函数体在代码段中会出现多个"副本", 因此会增加代 码段的空间。 本质 : 以牺牲代码段空间为代价, 提高程序的运行时间的效率。 适用场景: 函数体很"小", 且被"频...

2019-06-05 22:00:27 107

原创 C++——内存管理(new/delete)

C++ new/delete 堆内存操作c 语言中提供了 malloc 和 free 两个系统函数,完成对堆内存的申请和释放。而 C++则提供了两关键字 new 和 delete ,此两关键字为是类对象而设计的。使用规则(1)new/delete 是关键字,效率高于malloc/free。(2)和malloc一样,有始有终,配对使用!避免内存泄漏和多次释放。(3)ne...

2019-06-04 00:48:02 199

原创 C++——默认参数

Default ArgC++ 默认参数函数在调用时,形参从实参那里取得值。C++给出了可以不用从实参取值的方法,给形参以默认值。函数声明处: void weatherForcast(char * w="sunny") 默认初始化为sunnyweatherForcast(); 调用时,如果不传参,即用初始默认值 sunnyweatherForcast...

2019-06-03 23:05:09 232

原创 C++——重载

重载:根据语义来确定相应的功能 1、函数重载函数重载:c++简化编程, 通过函数重名来达到简化编程的目的1)函数重载条件:函数名相同,参数列表、类型、个数、顺序不同。返回值类型, 不作为重载的标准。2)匹配规则C++ 允许, int到long和double,double到int和float,int到short 和 char 等隐式类型转换。 遇到这种情型, 则会引起二义...

2019-06-03 22:38:03 262

原创 C++预热——C++对C的增强

1、类型增强(1)严格的类型检查,两者类型必须完全相同才可以划等号。(2)逻辑类型BOOL。C语言中可以用enum枚举类型来构造一个bool,而c++中给出了该类型(3)枚举类型更强大。c 语言中枚举本质就是整型,枚举变量可以用任意整型赋值。而 C++中枚举变量,只能用被枚举出来的元素初始化。(4)表达式可赋值。C++中某些表达式是可以赋值。(a = b) = 10;(a<b...

2019-06-03 22:10:02 189

原创 C++—— Reference &引用

引用基础理解首先 解释一下 int a = 100假设100 所存放的内存地址为 0x00000001 int类型 四个字节,就找到了100所在的内存空间。a = 100; 也就是:*(int *)0x00000001= 100; 将地址转为指针类型再取内容// a是变量名:实质上是表示一段内存空间的别名-->别名再取个名 就是引用~ int a = ...

2019-06-02 19:38:21 1127

原创 数据结构——二十分钟盲打动态链表 (内附排序优化&删除优化版本)

此代码实现了动态链表的

2019-05-28 23:17:11 158

原创 C 结构体基础知识&(内存对齐详解)& 常见误用

目录结构体诞生 构造新类型!结构体构造类型 typedef(1)typedef 使用(2)typedef 与 define结构体初始化&赋值1、初始化手动 scanf 赋值结构体类型作参数和返回值1、结构体变量 作参数和返回值2、结构体指针作参数 ——提升效率.结构体数组结构体 sizeof 大小 以及内存对齐(1)什么是内存对齐 (...

2019-05-25 11:53:41 297

原创 VS2017 引发了未经处理的异常:写入访问权限冲突。 p 是 0xCDDDCDEE。C代码

#include&lt;stdlib.h&gt;#include&lt;stdio.h&gt;#include&lt;string.h&gt;//动态分布数组存放Huffman树typedef struct { int weight; int rchild, lchild, parent;}HTNode, *HuffmanTree;void Select(HuffmanTre...

2018-11-19 00:33:08 26067 9

原创 VS2017 新手上路~ 'scanf': This function or variable may be unsafe. Consider using scanf_s ins

第一次用VS2017编译C语言question 1 scanf 出错了一个原来跑的好好的代码怎么用这个就坏掉了呢?仔细一看,所有的error都是写的scanf这种类型不安全。。头秃干货来袭~原来,使用VS会出现'scanf': This function or variable may be unsafe. Consider using scanf_s ins这...

2018-11-15 19:57:40 15123 4

空空如也

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

TA关注的人

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