人小鬼不大

导航

 

2020年3月15日

摘要: 1、简介 C++语言本身或者标准库抛出的异常都是exception的子类,称为标准异常。捕获所有的标准异常的语句: try{ //可能抛出异常的语句 }catch(exception &e) //使用引用是为了提高效率,不然需要经过一次对象拷贝过程。 { //处理异常的语句 } 1.1 except 阅读全文
posted @ 2020-03-15 19:32 人小鬼不大 阅读(1340) 评论(0) 推荐(0) 编辑
 
摘要: C++异常处理机制就可以捕获并处理程序运行过程中出现的错误,接着让程序沿着一条不会出错的路径继续执行,或者不得不结束程序,但在结束前可以做一些必要的工作,例如释放分配的内存等。C++ 异常处理机制会涉及try、catch、throw三个关键字。 1、程序错误分类 程序的错误大致可以分为三种,分别是语 阅读全文
posted @ 2020-03-15 18:53 人小鬼不大 阅读(333) 评论(0) 推荐(0) 编辑
 

2020年2月27日

摘要: 泛型程序设计(generic programming)是一种算法在实现时不指定具体要操作的数据的类型的程序设计方法。所谓“泛型”指的是算法只要实现一遍,就能适用于多种数据类型。泛型程序设计方法的优势在于能够减少重复代码的编写。最成功的应用就是 C++ 的标准模板库(STL)。在 C++ 中,模板分为 阅读全文
posted @ 2020-02-27 15:35 人小鬼不大 阅读(169) 评论(0) 推荐(0) 编辑
 
摘要: 进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: ①一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。 ②另一个是地址空间,它包含所有可执行模块或DLL模块的代码和数据。它还包含动态内存分配的空间。如线程堆栈和堆分配空间。 要使进程完成某项操作,它必 阅读全文
posted @ 2020-02-27 14:46 人小鬼不大 阅读(266) 评论(0) 推荐(0) 编辑
 

2020年2月16日

摘要: 在C++中,可以将虚函数声明为纯虚函数,语法格式为: virtual 返回值类型 函数名 (函数参数) = 0; 纯虚函数没有函数体,只有函数声明,在虚函数声明的结尾加上=0,表明此函数为纯虚函数。最后的=0并不表示函数返回值为0,它只起形式上的作用,告诉编译系统“这是纯虚函数”。包含纯虚函数的类称 阅读全文
posted @ 2020-02-16 21:16 人小鬼不大 阅读(249) 评论(0) 推荐(0) 编辑
 
摘要: 为了让基类指针能够访问派生类的成员函数,C++增加了虚函数(Virtual Function)。使用虚函数非常简单,只需要在函数声明前面增加 virtual 关键字。有了虚函数,基类指针指向基类对象时就使用基类的成员(包括成员函数和成员变量),指向派生类对象时就使用派生类的成员。换句话说,基类指针可 阅读全文
posted @ 2020-02-16 21:04 人小鬼不大 阅读(245) 评论(0) 推荐(0) 编辑
 
摘要: 将派生类赋值给基类,即向上转型。在C/C++中数据类型转换的前提是,编译器知道如何对数据进行取舍。类其实也是一种数据类型,也可以发生数据类型转换,不过这种转换只有在基类和派生类之间才有意义,并且只能将派生类赋值给基类,包括将派生类对象赋值给基类对象、将派生类指针赋值给基类指针、将派生类引用赋值给基类 阅读全文
posted @ 2020-02-16 20:43 人小鬼不大 阅读(1302) 评论(0) 推荐(0) 编辑
 
摘要: 多继承时很容易产生命名冲突,即使小心地将所有类中的成员变量和成员函数都命名为不同的名字,命名冲突依然有可能发生,比如典型的是菱形继承,如下图所示: 类 A 派生出类 B 和类 C,类 D 继承自类 B 和类 C,这个时候类 A 中的成员变量和成员函数继承到类 D 中变成了两份,一份来自ABD,一份来 阅读全文
posted @ 2020-02-16 17:02 人小鬼不大 阅读(450) 评论(0) 推荐(0) 编辑
 

2020年2月14日

摘要: C++中的继承是类与类之间的关系。继承(Inheritance)可理解为一个类从另一个类获取成员变量和成员函数的过程。在C++中,派生(Derive)和继承是一个概念,只是参照物不同。被继承的类称为父类或基类,继承的类称为子类或派生类。“子类”和“父类”通常放在一起称呼,“基类”和“派生类”通常放在 阅读全文
posted @ 2020-02-14 16:57 人小鬼不大 阅读(432) 评论(0) 推荐(0) 编辑
 

2020年1月23日

摘要: 将具有“一对一”关系的数据“线性”地存储到物理空间中,这种存储结构就称为线性存储结构(简称线性表)。数据存储的成功与否,取决于是否能将数据完整地复原成它本来的样子。对于线性表,不管是集中存放(顺序存储)还是分散存放(链式存储),数据的位置依旧没有发生改变。 使用线性表存储的数据,要求数据类型必须一致 阅读全文
posted @ 2020-01-23 16:50 人小鬼不大 阅读(266) 评论(0) 推荐(0) 编辑
 
摘要: 数据结构,主要就是学习“如何存储具有复杂关系的数据更有助于后期对数据的再利用”。 数据结构大致包含以下几种存储结构:线性表(可细分为顺序表、链表、栈和队列)、树结构(普通树,二叉树,线索二叉树等)和 图存储结构。 1、线性表 线性表结构存储的数据往往是可以依次排列的,具备“一对一”关系的数据就可以使 阅读全文
posted @ 2020-01-23 12:10 人小鬼不大 阅读(157) 评论(0) 推荐(0) 编辑
 
摘要: 计算机中所有的数据都必须放在内存中,以二进制的形式存储在内存中,才能被CPU所使用。不同类型的数据占用的字节数不一样,为了正确地访问这些数据,必须为每个字节都编上号码。将内存中字节的编号称为地址(Address)或指针(Pointer)。地址从 0 开始依次增加,对于 32 位环境,程序能够使用的内 阅读全文
posted @ 2020-01-23 11:41 人小鬼不大 阅读(206) 评论(0) 推荐(0) 编辑
 

2020年1月22日

摘要: 1、安装 https://gitforwindows.org/官网下载Git;https://tortoisegit.org/download/下载TortoiseGit。 2、配置 1)创建或选择一个目录作为存放Git项目的目录,鼠标右键菜单栏的TortoiseGit-->Settings,打开配 阅读全文
posted @ 2020-01-22 15:52 人小鬼不大 阅读(186) 评论(0) 推荐(0) 编辑
 
摘要: CancelWaitableTimer 功能:这个函数用于取消一个可以等待下去的计时器操作。计时器保持它当前的状态,而且除非用SetWaitableTimer函数明确启动,否则它不会重新启动 返回值:非零表示成功,零表示失败。会设置GetLastError 注意:适用Windows NT平台 Cal 阅读全文
posted @ 2020-01-22 15:27 人小鬼不大 阅读(552) 评论(0) 推荐(0) 编辑
 
摘要: CloseHandle 功能:关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的。 返回值:非零表示成功,零表示失败。会设置GetLastError 注意:除非对内核对象的 阅读全文
posted @ 2020-01-22 12:58 人小鬼不大 阅读(643) 评论(0) 推荐(0) 编辑
 

2020年1月21日

摘要: Microsoft Win32应用编程接口(Application Programming Interface, API)提供了大量支持应用程序间数据共享和交换的机制,这些机制行使的活动称为进程间通信(InterProcess Communication, IPC),进程通信就是指不同进程间进行数据 阅读全文
posted @ 2020-01-21 19:01 人小鬼不大 阅读(377) 评论(0) 推荐(0) 编辑
 
摘要: 1、ANSI 多字节编码 最早时计算机只支持英文字符,都是用 ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)编码,一个字母或符号只需要一个字节存储。微软针对本地化字符编码采用的就是用 ANSI(American 阅读全文
posted @ 2020-01-21 17:23 人小鬼不大 阅读(357) 评论(0) 推荐(0) 编辑
 
摘要: 在数据结构中,栈是一种可以实现“先进后出”(或者称为“后进先出”)的存储结构。进栈的顺序和出栈的顺序是相反的。在实际编程中,可以通过两种方式来实现:使用数组的形式来实现栈,这种栈也称为静态栈;使用链表的形式来实现栈,这种栈也称为动态栈。 相对于栈的“先进后出”特性,堆则是一种经过排序的树形数据结构, 阅读全文
posted @ 2020-01-21 16:22 人小鬼不大 阅读(1380) 评论(0) 推荐(0) 编辑
 
摘要: Windows API中的所有函数都包含在DLL中。3个最重要的DLL是: 1)Kernel32.dll:它包含用于管理内存、进程和线程的各个函数 2)User32.dll,它包含用于执行用户界面任务(如窗口的创建和消息的传送)的各个函数 3)GDI32.dll,它包含用于画图和显示文本的各个函数。 阅读全文
posted @ 2020-01-21 15:35 人小鬼不大 阅读(295) 评论(0) 推荐(1) 编辑
 
摘要: 一、其他类型转为字符串 1、数值型 1 itoa(i,temp,10); //将i转换为字符串放入temp中,最后一个数字表示十进制 2 ltoa(l,temp,10); //长整形转为字符串放入temp中,最后一个数字表示十进制 3 4 //浮点数 5 int decimal, sign; 6 c 阅读全文
posted @ 2020-01-21 15:11 人小鬼不大 阅读(556) 评论(0) 推荐(0) 编辑
 
摘要: 一、简介 进程是一个具有独立功能的程序关于某个数据集合的一次可以并发执行的运行活动,是处于活动状态的计算机程序。进程作为构成系统的基本细胞,不仅是系统内部独立运行的实体,而且是独立竞争资源的基本实体。 进程是资源管理的最小单位,线程是程序执行的最小单位。进程管理着资源,而将线程分配到某个cpu上执行 阅读全文
posted @ 2020-01-21 10:28 人小鬼不大 阅读(468) 评论(0) 推荐(0) 编辑
 

2020年1月20日

摘要: 1、什么是服务 在运行框中输入services.msc,服务窗口中显示的都是服务。 服务:是一种应用程序类型,它在后台运行。 系统有2种服务:一种叫win32服务,他运行在用户态,对应的映像文件是.EXE或.DLL;另外一种叫系统服务,它运行在内核态,对应的映像文件是.SYS也就是驱动程序。除了运行 阅读全文
posted @ 2020-01-20 21:16 人小鬼不大 阅读(640) 评论(0) 推荐(0) 编辑
 
摘要: 1、简介 Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务。为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择。C++面向对象的方法固然方便,但由于用类对底层 Win32 函数调用进行了封装,它不利于学习服务程序的基本知识。 服务是一个运行在后台并实现勿 阅读全文
posted @ 2020-01-20 21:08 人小鬼不大 阅读(717) 评论(0) 推荐(0) 编辑
 
摘要: 一、问题 1、[SC] OpenSCManager 失败 5:拒绝访问。 以管理员身份运行2、net start test发生系统错误 2。系统找不到指定的文件。 1)查看exe文件的路径是否正确?最好使用全路径。若修改服务路径可执行:sc delete 服务名,sc create 服务名 binP 阅读全文
posted @ 2020-01-20 20:57 人小鬼不大 阅读(413) 评论(0) 推荐(0) 编辑
 
摘要: 一、相关结构体 1、SERVICE_STATUS结构 定义了服务的运行状态/服务类型/接受的控制形式以及指定错误代码等 1 typedef struct _SERVICE_STATUS { 2 DWORD dwServiceType; //服务类型 3 DWORD dwCurrentState; / 阅读全文
posted @ 2020-01-20 20:50 人小鬼不大 阅读(311) 评论(0) 推荐(0) 编辑
 
摘要: 1、Windows API Windows应用程序编程接口(API):针对Microsoft Windows操作系统家族的系统编程接口。每个操作系统实现了Windows API的不同子集。Windows API包括几千个可调用的函数,可分为7类: ①基本服务 ②组件服务 ③用户界面服务 ④图形和多媒 阅读全文
posted @ 2020-01-20 15:31 人小鬼不大 阅读(745) 评论(0) 推荐(0) 编辑
 
摘要: 1、简介 COM接口指针很危险,因为使用过程中需要每一个使用者都要严格并且正确的AddRef和Release,一旦出现问题,就会造成对象不能被正常释放,或者对象被重复删除,造成程序崩溃。所以使用COM接口,必须小心翼翼才行。但即使所有的代码中,都正确的AddRef和Release,也不一定能保证万无 阅读全文
posted @ 2020-01-20 15:19 人小鬼不大 阅读(1115) 评论(0) 推荐(0) 编辑
 
摘要: 1、简介 要了解 STL 中的 pair 类模板,因为关联容器的一些成员函数的返回值是 pair 对象,而且 map 和 multimap 容器中的元素都是 pair 对象。 2、pair的定义 1 template <class_Tl, class_T2> 2 struct pair 3 { 4 阅读全文
posted @ 2020-01-20 15:07 人小鬼不大 阅读(229) 评论(0) 推荐(0) 编辑
 
摘要: 1、简介 deque 也是顺序容器的一种,同时也是一个可变长数组。要使用 deque,需要包含头文件 deque。所有适用于 vector 的操作都适用于 deque。 在 deque 中,随机存取任何元素都能在常数时间内完成(但慢于vector)。它相比于 vector 的优点是,vector 在 阅读全文
posted @ 2020-01-20 14:48 人小鬼不大 阅读(497) 评论(0) 推荐(0) 编辑
 
摘要: 1、简介 关联容器内部的元素都是排好序的,有以下四种。 set:排好序的集合,不允许有相同元素。 multiset:排好序的集合,允许有相同元素。 map:每个元素都分为关键字和值两部分,容器中的元素是按关键字排序的。不允许有多个元素的关键字相同。 multimap:和 map 类似,差别在于元素的 阅读全文
posted @ 2020-01-20 14:31 人小鬼不大 阅读(301) 评论(0) 推荐(0) 编辑