小项目
文章平均质量分 72
Shining-LY
这个作者很懒,什么都没留下…
展开
-
温情晴雨表(项目)
后续再更新原创 2018-08-10 21:06:36 · 830 阅读 · 0 评论 -
设计模式----单例模式
一、单例模式一般情况下,我们建立的一些类是属于工具性质的,基本不用存储太多的跟自身有关的数据,在这种情况下,每次都去new一个对象,即增加了开销,也使得代码更加臃肿。其实,我们只需要一个实例对象就可以。如果采用全局或者静态变量的方式,会影响封装性,难以保证别的代码不会对全局变量造成影响。 考虑到这些需要,我们将默认的构造函数声明为私有的,这样就不会被外部所new了,甚至可以将析构函数也声明为...原创 2018-08-04 11:38:10 · 233 阅读 · 0 评论 -
设计一个简单的内存池
一、为什么要使用内存池呢?在了解内存池之前,我们先来了解一下什么是内存碎片:内存碎片通常情况下,我们在使用new、malloc进行空间申请时,系统都是在对上进行空间开辟的,尽管开辟出来内存的地址是连续的一块内存空间,但每次开辟的内存块的地址并不是连续的,这样的话当我么开辟的次数变多以后,堆上就剩余许多小块的空间导致在我们需要一块比较大的空间时会开辟失败。这是我们最常听到的一种内存碎片,...原创 2018-08-01 17:42:36 · 1017 阅读 · 0 评论 -
STL 一级空间配置器
一、STL介绍STL(Standard Template Library,标准模板库),从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。 首先呢,让我们一起来理解一下STL的六大组件:1、STL六大组件简单介绍(1)容器(Container):作为STL的最主要组成部分--容器,分为序列式容器和关联式...原创 2018-05-27 23:36:58 · 806 阅读 · 0 评论 -
二级空间配置器
一、二级空间配置器在前面文章中我们介绍了一级空间配置器的概念和实现,一级空间配置器的实现相对比较简单,直接封装了malloc()和free()函数,同时增加了处理机制et_malloc_handler() 。 一级空间配置器主要处理大于128字节的大块内存分配问题,当字节数小于128字节,我们就需要用到二级空间配置器进行空间申请; STL默认是使用二级空间配置器。1、二级空间配置器的配置...原创 2018-06-15 22:10:02 · 324 阅读 · 0 评论 -
【C语言】实现注释转换(c->c++)
由上图可知:C语言注释转换主要分为四个状态:Nul_STATE(空状态)、C_STATE(C注释状态)、Cpp_STATE(C++注释状态)和End_STATE(结束状态);重要的是要分清每个状态结束的条件以及各个状态相互转换的边界条件,然后对其作具体情况的分析处理;所以我用了三个函数DoNulcomment()、DoCcomment()和DoCppcomment()进行注释转换;为了思...原创 2017-07-29 20:55:23 · 519 阅读 · 0 评论 -
用C语言模拟实现通讯录的文件版本
之前写了通讯录的静态版本和动态版本,但在使用的时候我们无法保存文件,只能每次使用的时候重新输入数据,比较麻烦,所以在动态的改进上生成了文件版本,文件版本只需要在动态的基础上添加相关文件读取和保存函数即可,同样使用三个文件实现,代码如下:contact.h#ifndef __CONTACT_H__ #define __CONTACT_H__ #include <stdi...原创 2017-07-24 07:44:31 · 296 阅读 · 0 评论 -
三子棋小游戏的实现
初次写这个小游戏,程序设计也比较简单,其中还有许多需要改进的地方。这个三子棋程序我同样使用了三个文件,game.h、game.c、和test.cgame.h #define _CRT_SECURE_NO_WARNINGS 1#ifndef __GAME_H__#define __GAME_H__#include<stdlib.h>#include<ti...原创 2017-07-20 20:07:28 · 329 阅读 · 0 评论