自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 各关键字作用

register修饰暗示编译程序相应的变量将被频繁使用的变量尽可能的将这个变量保存在CPU内部寄存器中而不是通过内存寻址来访问,是为了提升它的运行速率。static在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数一、 定义全局静态变量 :在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:(1...

2019-09-20 11:09:54 238

原创 shell脚本/CUPS

常用CUPS命令sudo lpadmin -p [printer device] -E -v [url] -m [pdd file] #添加打印机sudo lpadmin -x [printer devive] #删除打印机lpinfo -m #查找可用打印机驱动shell脚本if [ "$(lpstat -p 2>&1)" = "$...

2019-08-06 17:15:56 272

原创 JS的事件函数

<h1 id="demo">Mouse over me</h1><script>document.getElementById("demo").onmouseenter = function() {mouseEnter()};document.getElementById("demo").onmouseleave = function() {mouseL...

2019-04-27 12:47:06 1039

原创 JS函数体内变量提升

var a=1; 尽管作为全局变量在函数体外已经定义但对于函数体,a是在其中的a的定义,即函数体内的var a=1; 才决定了a是属于函数的局部变量,因此全局变量a是在此失效的而又由于a++的操作在局部var a定义之前所以第一个alert(a)显示的是 NaN(注:详细说明如下)第二个alert则是正确被赋值的,显示为 1var a=1;function test(){...

2019-04-25 12:58:46 698 1

原创 jQuery的checkbox,全选反选以及显示值功能

对checkbox操作时用prop而非attr。<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://code.jquery.com/jquery-3.4.0.min.js"></script></head>...

2019-04-23 16:59:59 200

转载 jQuery复选框选择数

属性过滤选择器使用$("button[name=check]")<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://code.jquery.com/jquery-3.4.0.min.js"></script></...

2019-04-22 15:58:56 224

转载 Win32的菜单勾选

默认勾选可在Resource View下选Checked,但变化勾选需要通过逻辑实现,以下为相应代码。在逻辑文件下声明HMENU hMenu;随后从 InitInstanceCreateWindow取得的hWnd窗口句柄来得到菜单句柄hMenu = GetMenu(hWnd);假设有两个菜单自选,分别为子选项1和子选项2在WM_COMMAND 消息下...

2019-04-09 10:17:58 943

原创 Windows的DLL多语言包

从主程序的Resources Files复制到相应的DLL的Resources Files文件下,需要从物理文件,即直接从文件夹中复制过去;随后需要从DLL文件的Resources Files下Add -> Existing Item。在Resource View将需要特定设置的如Dialog语言包在主程序下的对应文件除去。假若Resources Files下的.ico文件无需特...

2019-04-08 16:46:35 549

原创 ChooseColor函数

注意可能会查不到CHOOSECOLOR结构体,需手动添加#include “Commdlg.h”。void CALLBACK TextColorSet(){ CHOOSECOLOR cc; // common dialog box structure static COLORREF acrCustClr[16]; // array of custom...

2019-04-08 10:41:20 1368

原创 模态对话框与非模态对话框

创建对话框case ID_DIALOG_TEXT: DialogBox(hInst, MAKEINTRESOURCE(IDD_TEXTBOX), hWnd,Textset); break; //创建模态对话框case ID_DIALOG_TCOLOR: dHwnd = CreateDialog(hInst, MAKEINTRESOURCE(IDD_DIALO...

2019-04-03 14:31:16 210

转载 DeleteObject()的使用

六种GDI对象,画笔、画刷、位图、区域、字体和调色板。除了调色板之外,这些对象都是通过SelectObject选进设备描述表的。  This function returns the previously selected object of the specified type.  SelectObject将返回设备描述表中上一次选择的对象句柄。    例:hPen = Sel...

2019-04-02 10:19:52 5739

原创 InvalidateRect(hwnd,NULL,TRUE)

在处理WM_PAINT消息时,为了在更新的矩形外绘图,可以使用如下呼叫:InvalidateRect(hwnd,NULL,TRUE)该呼叫在BeginPaint呼叫之前进行,它使整个显示区域变为无效,并擦除背景。但是,如果最后一个参数等于FALSE,则不擦除背景,原有的东西将保留在原处。...

2019-03-28 15:36:55 1249

转载 DrawText()

DrawText函数简介 这个函数的作用非常easy,就是在指定的区域内输出格式化的文本。 函数原型:int DrawText( HDC hDC, LPCTSTR lpString, int nCount, LPRECT lpRect, UNIT uFormat); hDC是设备上下文句柄。lpString指向将要绘制的UNICO...

2019-03-27 11:21:00 13519

转载 笔记

HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会...

2018-11-01 17:44:04 109

原创 面试/笔试

一、多态的三个条件1.要有继承关系,即有基类和派生类2.有其中基类有虚函数,派生类有虚函数的重写3.父类指针指向子类对象二、new和malloc区别都是从申请堆上的空间动态内存操作。1.new是操作符,malloc是库函数。2.malloc需要申请指定内存空间大小,new不需要。3.new返回的是对象类型指针,类型与对象匹配,无需类型转换;malloc返回的是...

2018-09-18 20:29:07 283 1

转载 函数重载和重写

 重载overload:是函数名相同,参数列表不同 重载只是在类的内部存在。但是不能靠返回类型来判断。函数重载发生在同一作用域内,即在同一个类里有多个同名函数,参数列表不同。重写override:也叫做覆盖。子类重新定义父类中有相同名称和参数的虚函数。函数特征相同。但是具体实现不同,主要是在继承关系中出现的 。即发生在父类子类中,子类重写父类的同名函数。重写需要注意:1 被重写...

2018-09-11 19:31:12 832

原创 虚指针,虚函数,虚函数表,纯虚函数

虚指针(虚继承)在使用多重继承时,如存在class A ,有m_a变量;class A1 : virtual public A, m_a1;class A2 : virtual public A ,m_a2;class B : public A1,public A2 ,m_b 时;存在以下内存存储顺序:| 虚指针(指向m_a)|  m_a1 | 虚指针(指向m_a) |...

2018-08-29 17:23:39 510

原创 孤儿进程和僵尸进程

孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。  僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。如果进...

2018-08-25 16:23:52 125

原创 系统结构(文件实例)

 操作系统的内核实现操作系统的五大功能:内存管理,进程管理,文件系统管理,设备控制,网络管理。内存管理 是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。 系统调用:操作系统的最小功能单位。用户不需要知道内核源代码,就可以使用内核,从内核访问资源接口。如用open打开文件返回的是文件操作符,使用writ...

2018-08-17 11:13:34 405

转载 QT的connect()

 connect,是QT中的连接函数,将信号发送者sender对象中的信号signal与接受者receiver中的member槽函数联系起来。当指定信号signal时必须使用宏SIGNAL(),当指定槽函数时必须使用宏SLOT(),如果发送者与连接者属于同一个对象时,那么在connect调用中接受者参数可以忽略。通过调用 QObject 对象的 connect 函数来将某个对象的信号与另外一个...

2018-08-16 20:41:26 1719

转载 TCP三次握手和四次挥手(以及和UDP的区别)

SYN(synchronous建立联机)ACK(acknowledgement 确认)(1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。(2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1)(确认包由建立联机包 SYN=j 的数据进行修改),同时自己也发送一个SYN包(SYN=k),即SY...

2018-08-15 16:15:59 323 1

转载 函数形参,不同数据类型的值传递,const修饰成员函数

1. void test(){}2. void test(void){}3. void test(void *){}1和2是相同的,表示test函数不接受任何参数,无论在c还是c++中如果函数不接受参数用2的方式书写是一种良好的习惯3表示test函数接受一个指针类型的参数,无论是什么指针,只要是指针就可以传入 对于非内部数据类型的输入参数,应该将“值传递”的方式改为“co...

2018-08-15 15:25:57 535

原创 MySQL常用语句

-- 创建用户create user "jsetc"@"localhost" identified by "jsetc";-- 查询数据库show databases;-- 使用数据库use mysql                      --用户保存在mysql数据库中-- 查询表show tables;-- 查询用户select user from user;...

2018-08-14 19:05:59 107

原创 mysql在vs下编译

  添加包含目录,进入到MYSQL Server 5.7/路径下,将include文件包含进去;添加库目录,同样进入MYSQL Server 5.7/路径下,将lib文件夹包含进去; 添加附加依赖项,输入libmysql.lib最后将MYSQL Server 5.7/lib下的文件libmysql.dll复制到对应的编译文件里,即VS里创建的项目文件。...

2018-08-14 15:22:35 656

转载 设计模式

1. Factory method我们把简单工厂方法归类到工厂方法中。工厂方法的目的是用来解决具有同一接口(基类)派生类对象的生成问题。尽管可以通过类的构造函数生成对象,但是,如果派生类的数量很大——即使几十个不同的派生类——对于程序设计而言也是困难的。这里有两个困难:其一是可读性,在一个程序里使用一个switch-case block判断具体的生成类型,程序几乎不能读,也增加了编码的难度;其...

2018-08-12 22:40:37 78

原创 访问非法内存区和内存泄漏

 在下列程序中,i和*pi都是未初始化的变量,它们的值都是不确定的。而pi指向的是未知位置,不属于程序所拥有的存储单元,该指针变量称为野指针#include&lt;stdio.h&gt;int main(){ int i,*pi; *pi=5; printf("%d\n",i,*pi); return 0;}因此给指针需要赋初值,int *...

2018-08-10 17:16:09 3442

原创 源代码到可执行文件产生过程(及其相关知识)

1. 预处理    在这一阶段,源码中的所有预处理语句得到处理,例如#include语句所包含的文件内容替换掉语句本身所有已定义的宏被展开根据#ifdef,#if等语句的条件是否成立取舍相应的部分    预处理之后源码中不再包含任何预处理语句。宏 是一种批量处理,根据预先规则替换一定的文本模式。可方便程序的修改和提示程序运行效率,预处理阶段即进行了宏展开,在执行时不需要转换...

2018-08-10 15:50:19 1227

原创 位操作(左移和右移)

位操作提高程序运行效率 减少除法和取模的运算。在计算机程序中数据的位是可以操作的最小数据单位,理论上可以用”位运算”来完成所有的运算和操作。左移,后空缺自动补0;右移,分为逻辑右移和算数右移1)逻辑右移 不管是什么类型,空缺自动补0;2)算数右移 若是无符号数,则空缺补0,若是负数,空缺补1;#include&lt;stdio.h&gt;int main(){ int ...

2018-08-10 14:37:43 33615

原创 大小端

1.采用联合体:union sem//联合体共享内存空间{         unsigned short i;      //注意这里用的是short      char a;};i=0x12342.强制转换:short i=0x1234;char a=i;a=? i 低字节 高字节 a...

2018-08-10 10:06:45 648

原创 线程函数 pthread

线程分离int pthread_join(pthread_t th, void **thread_return); 阻塞,等待线程结束,回收线程资源;在线程函数外使用。intpthread_detach(pthread_self()); 线程分离,回收线程资源;在线程函数里使用,常在开头。线程退出void pthread_exit(void *retval); 线程内使用,可...

2018-08-09 20:46:20 172

原创 函数对象和函数的使用

 函数对象,类里定义了操作符重载的函数,在算法里参数调用时需加括号()。若直接定义一个全局函数,在算法里参数调用直接调用函数名即可。#include&lt;iostream&gt;#include&lt;vector&gt;using namespace std;class print{ public: bool operator ()(const int &amp;i) ...

2018-08-08 14:45:22 471

转载 c语言中rand()函数

一、rand()rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。rand()会返回一个范围在0到RAND_MAX(32767)之间的伪随机数(整数)。在调用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。...

2018-08-07 19:46:49 38664 2

转载 STL系列之五 priority_queue 优先级队列

priority_queue 优先级队列是一个拥有权值概念的单向队列queue,在这个队列中,所有元素是按优先级排列的(也可以认为queue是个按进入队列的先后做为优先级的优先级队列——先进入队列的元素优先权要高于后进入队列的元素)。在计算机操作系统中,优先级队列的使用是相当频繁的,进线程调度都会用到。在STL的具体实现中,priority_queue也是以别的容器作为底部结构,再根据堆的处理规则...

2018-08-06 22:29:10 151

原创 计算器(STL:stack)

#include &lt;iostream&gt;#include &lt;stack&gt;using namespace std;int Priority(char ch){ switch(ch) { case '(': return 3; case '*': case '/': return 2; case '+': case '-': ...

2018-08-05 21:19:41 236

转载 C++ 把引用作为返回值

  返回的引用是函数里选择的对应变量返回的引用,return vals[i]是数组的某个元素,然后即可进行赋值 setValues(1) = 20.23;记得在定义函数名前加 &amp;用引用返回一个函数值的最大好处是,在内存中不产生被返回值的副本。#include &lt;iostream&gt; using namespace std; double vals[] =...

2018-08-04 10:03:43 708

原创 抛出异常类

 throw 抛出异常 可抛出各种类型try 判断是否有异常区catch 接到则处理收到的异常并处理异常#include&lt;iostream&gt;using namespace std;class Myarray{ private: int m_len; int *m_data; public: int &amp;operator [](int index);...

2018-08-03 21:30:13 824

转载 插入排序

#include &lt;stdio.h&gt;// 分类 ------------- 内部比较排序// 数据结构 ---------- 数组// 最差时间复杂度 ---- 最坏情况为输入序列是降序排列的,此时时间复杂度O(n^2)// 最优时间复杂度 ---- 最好情况为输入序列是升序排列的,此时时间复杂度O(n)// 平均时间复杂度 ---- O(n^2)// 所需辅助空间 -...

2018-08-02 16:50:48 102

原创 类模板下运算符重载的两种用法

1template &lt;typename T&gt;class Complex{ friend ostream &amp;operator &lt;&lt;&lt;T&gt;(ostream &amp;out,const Complex &amp;c);private: T m_a; T m_b;public: Complex(T a,T b); void print(...

2018-08-01 19:51:42 5101 1

原创 通过父类指针释放子类资源

 #include &lt;iostream&gt;using namespace std;class A //基类{protected: int m_len;public: A(int l); virtual ~A(); //虚析构函数};A::A(int l){ cout &lt;&lt; "AAAAAAAAAAAAAAAAA" &lt;&...

2018-07-31 15:40:07 1230

原创 Virtual的两个用法

1.virtual用在继承的时候 虚继承#include &lt;iostream&gt;using namespace std;class A{ public: int m_a; A(); virtual void print();};A::A(){ print();}void A::print(){ cout&lt;&lt;"this is A"&lt;&...

2018-07-30 21:14:16 3378

空空如也

空空如也

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

TA关注的人

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