1.数组和链表的区别2.栈和队列的区别3.static关键字的作用4.volatile关键字5.宏的优缺点6.assert断言7.引用和指针的区别8.EOF与feof的区别

数组和链表的区别 数组: ①数组的空间是一块连续的空间。 ②对数组的读取快速方便,直接通过下表访问,时间复杂度为O(1)。 ③使用数组时必须提前开辟好空间,但是如果使用不完,就会存在浪费空间。但是如果不够用,就要重新开辟空间,原来数组中的内容也必须拷贝过去。 ④在数组中进行随意位置的插入和删除不方便,必须移动数据。 链表: ①链表的空间不是连续的,每个节点都保存着下一个节点的位置。 ...
分类: 其他 发布时间: 05-23 22:44 阅读次数: 3

C++的String类的实现 && 深拷贝 && 写时拷贝

浅拷贝的缺陷? ①普通的浅拷贝会在拷贝构造初始化完成后,对象在生命周期结束后,就会析构多次而使程序崩溃。 ②如果改变了其中的一个值,另外一个也会随之而改变。 所以为了防止以上两种问题,就有了解决的方案。 1. 深拷贝 在拷贝的时候,为其也申请相同大小的一块空间。每个对象都指向自己的空间。这样就不会因为析构同一块空间而出现崩溃。 但是,在有些情况下深拷贝会浪费空间。比如:当现实中...
分类: 其他 发布时间: 05-23 22:44 阅读次数: 4

1.进程2.僵尸进程3.孤儿进程4.进程的优先级

冯·诺依曼体系结构 特点:在该体系结构中,外设不能直接与cpu连接,而是要先通过与存储器,存储器再与cpu通信。下面我们模拟一下两个人通过软件发送消息的过程: 操作系统(OS) 例如,在学校中,校长就是我们的管理者,比如校长在分发我们学生的奖学金时,首先通过学生的成绩来评选优秀的学生,而执行这件事的是辅导员,校长就可以通过辅导员来管理学生的奖学金。 例比到操作系统,操作系统在管...
分类: 其他 发布时间: 05-23 22:43 阅读次数: 4

1.如何实现一个不能被继承的类2.如何实现一个只能在栈上生成对象的类3.如何实现一个只能在堆上生成对象的类

1.如何实现一个不能被继承的类 不能被继承的类,我们先回忆一下,当子类继承父类时会发生什么?子类在继承父类时,会继承父类的所有成员,并且子类的构造函数(在初始化时)会合成父类的构造函数进行合成。蹬蹬蹬……那么,如果我们把父类的构造函数声明为私有(private)的,当子类在初始化调用构造函数时就会失败。但是,把构造函数声明为私有的,也就不能在类外创建对象了。所以,我们还需要在类中写一个静态的函数...
分类: 其他 发布时间: 05-23 22:43 阅读次数: 4

虚拟存储器

如果没有虚拟存储器,可能会带来这些问题: 1.所有的进程都共享CPU和主存资源。所以当进程太多,太大,而导致内存无法容纳时,就无法运行该进程。 2.存储器很容易被破坏,当一个程序不小心写了另外一个进程使用的存储器时,那么进程可能就会以一种奇怪的方式而终止。 为了更加有效的管理存储器且少出错,就出现了虚拟存储器。虚拟存储器为每个进程都提供了一个大的,一致的,私有的地址空间。 虚拟存储器:将内...
分类: 其他 发布时间: 05-23 22:43 阅读次数: 3

基于Linux的MYSQL,基本的操作

数据库的作用:高效的存储和处理数据的介质(主要指内存和磁盘). 1.连接数据库 mysql [地址] [用户] [密码] [端口](-P,如果连接的是主机就可以省略) mysql -h 127.0.0.1 -u root -p //后面的可以省略 mysql -h 127.0.0.1 -u root //可以连接 mysql -h 127.0.0.1 //可以连接 ...
分类: 其他 发布时间: 05-23 22:43 阅读次数: 4

进程创建,进程等待,进程终止,进程的程序替换

进程创建 fork()函数: 在原来的博客中已经写过一次进程创建了,在这儿就详细讲解一下进程是怎么创建的. 已经知道,在Linux中,创建进程可以通过调用fork函数来实现,那么当我们在调用fork函数时,操作系统内部到底是怎样实现的呢? fork()函数在内部通过已经存在的进程创建出一个新进程,而新进程就是子进程. #include<unistd.h> pid_t for...
分类: 其他 发布时间: 05-23 22:42 阅读次数: 5

C++之多态的实现以及虚表

在C++中,多态:见名知意,就是多种形态.虚函数的主要作用就是实现多态,就是父类的指针/引用调用重写的虚函数,当父类的指针/引用指向父类对象时调用的是父类的虚函数,指向子类时指向子类的虚函数. 多态的实现原理 在有虚函数的对象实例中都存在一张虚函数表(简称虚表),而虚表中存放的则是实际应该调用的虚函数. 下面我们通过代码来模拟查找一下:...
分类: 其他 发布时间: 05-23 22:42 阅读次数: 5

浅谈模板函数和模板类以及不使用乘除,for,while,等循环和递归来计算1+2+3+4+....+n的值

模板函数 概念:一种与类型无关的代码. 作用:复用. 下面通过一个实例来实现: template<class T> //类比函数参数,但是模板参数传递的是类型 T Add(T a,T b) { return a + b; } int main() { int a = 10; int b = 20; cout&
分类: 其他 发布时间: 05-23 22:42 阅读次数: 4

线程池创建

 Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。   有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多的接口和类,熟悉这部分API特征是一项艰难的学习过程。目前有...
分类: 其他 发布时间: 05-23 22:41 阅读次数: 3

python 基础语法知识

附网址 :http://www.runoob.com/python/python-basic-syntax.html (1)标识符 1.标识符由字母、数字、下划线组成。所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 2.以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入; 以双下划线开头的 __foo 代表类的私有成员 以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的
分类: 其他 发布时间: 05-23 22:41 阅读次数: 4

Java基本数据类型之char

今天看到一道题,是这样子的: package test; public class Char { public static void main(String[] args) { char ch1 = 97; char ch2 = 'a'; System.out.println("ch1=" + ch1); System.out.println("ch2=" + ch2); } } 当时下意识作出判断,输出的结果分别应该是“ch1=97”和“ch2=a”,但答案都是a。于是补了一下这方面的知识
分类: 其他 发布时间: 05-23 22:41 阅读次数: 4

测试随笔测试随

测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔测试随测试随笔
分类: 其他 发布时间: 05-23 22:41 阅读次数: 3

Day1 初步认识Python

天气有点阴晴不定~ (截图来自----------金角大王) 1.学习了计算机概论(CPU/Memory/Disk,memory的存在是为了解决信息传输产生的时延) 2.了解了操作系统(OS) 3.初步认识python   3.1 注:解释型语言最大的优点是可以跨平台(只要windows、linux等不同的OS安装了解释器(虚拟机))。 编译型语言相对于解释型语言运行速度快,但跨平台需要重新编译,因为在windows上编译后的机器语言在Linux上是不能被理解的 还有python开发效率高,可
分类: 其他 发布时间: 05-23 22:41 阅读次数: 4

VSTO开发中级教程初稿目录

目前主要章节如下图所示: 大家有什么意见和建议,可以回帖,也可以发送邮件到 [email protected]
分类: 其他 发布时间: 05-23 22:41 阅读次数: 4

bzoj2631

非常好的一篇博客(LCT) 题解来源(LCT) 先抄了一遍板子【注意数据范围】 #include<cstdio> #include<cctype> #include<algorithm> #define ls tr[x][0] #define rs tr[x][1] #define ui unsigned int using namespace std; const ui maxn=100004,mod=51061; ui n,q,fa[maxn],tr[maxn][2],siz[maxn],
分类: 其他 发布时间: 05-23 22:41 阅读次数: 3

使用ramdisk内存分区给常用软件加速

::参考内存盘软件https://download.csdn.net/download/zly6tz/9717137 cls @echo off ::内存虚拟盘符-内存盘大小自己查看源目录大小 ::下面是设置vs2008,vs插件VisualAssist,chrome,我设置的是8G,目前使用了2.3g ::此内存盘需要设置对应文件-开机时加载,关机保存即可 @SET VDisk=S: echo 正在努力工作... ::下面的项 自己按需修改 call :SRCopyMKLink "C
分类: 其他 发布时间: 05-23 22:41 阅读次数: 4

Linux内核0.11 makefile文件说明

# # if you want the ram-disk device, define this to be the # size in blocks. # 如果要使用 RAM 就定义块的大小(注释掉了),这是一个编译时参数,如果定义了在下面会用到。 RAMDISK = #-DRAMDISK=512 AS86 =as86 -0 -a #8006汇编的编译器和连接器。后面参数分别是: LD86 =ld86 -0 # -0 生成8086目标程序, -a 生成与gas 和 g
分类: 其他 发布时间: 05-23 22:41 阅读次数: 5

titleya

english
分类: 其他 发布时间: 05-23 22:41 阅读次数: 5

摘要算法MessageDigest

Apache提供的Commons-codec中对MessageDigest进行了封装,可以直接使用,如果想自己实现,MessageDigest位于java.security包下。 摘要算法同样不是加密算法,因为经过摘要计算之后,数据往往无法还原,通常用于保证数据传输的完整性。 在数据传输中,对所有的数据进行摘要计算,当另一台电脑获取数据之后,进行同样的摘要计算,如果结果相同,那么说明本次接收到完整的数据。 在一些个性化的设计中,也有使用摘要算法生成密钥的做法。 MD5摘要 MD5算法生成字符串
分类: 其他 发布时间: 05-23 22:41 阅读次数: 3