内存空间分配(C++)
摘要: 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。
堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
……
阅读全文
抽象数据类型ADT
摘要: (Abstract Data Type 简称ADT)
是指一个数学模型以及定义在此数学模型上的一组操作。
抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。
……
阅读全文
虚析构函数(C++)
摘要: 我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:
有下面的两个类:
class ClxBase
{
public:
……
阅读全文
Hash
摘要: Hashing定义了一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法。由于通过更短的哈希值比用原始值进行数据库搜索更快,这种方法一般用来在数据库中建立索引并进行搜索,同时还用在各种解密算法中。
设所有可能出现的关键字集合记为U(简称全集)。实际发生(即实际存储)的关键字集合记为K(|K|比|U|小得多)。|K|是集合K中元素的个数。
散列方法是使用函数hash将U映射到表T[0..m-1]的下标上(m=O(|U|))。这样以U中关键字为自变量,以h为函数的运算结果就是相应结点的存储地址。从而达到在O(1)时间内就可完成查找。
……
阅读全文
auto_ptr(C++)
摘要: 很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。
……
阅读全文
Unix和Windows服务器区别
摘要: 小型机说了很多年,PC服务器也是大家比较熟悉的,他们区别还是非常大的,UNIX跟PC服务器的CPU不同,最简单台式机、笔记本用的CPU Intel的奔腾等非常清楚。但是提小型机处理器的名字都搞不清楚,现在他们用的CPU处理器都叫RISC处理器,常见的Intel包括AMD都是CISC处理器,那RISC跟CISC有什么区别,RISC是精简指令集计算机,CISC是复杂指令计算机。RISC技术是IBM一个研究院在1974年发明的,IBM对计算机研究非常深入,在70年代就发现我们能够用20%的指令就可以完成80%的工作,并且这20%的指令都是非常简单和基础的指令。如果要另外完成20%工作需要非常复杂的指令,如果要在CPU里面实现指令,就导致CPU非常复杂,这个机器效率非常低,所以这就导致RISC技术的产生,RISC技术改写了计算机发展的历程。技术产生导致RISC System/6000的诞生。
……
阅读全文
TCP和UDP的区别
摘要: 一、什么是TCP和UDP
TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据包发送到目的地,从而为应用程序及应用层协议(包括:HTTP、SMTP、SNMP、FTP和Telnet)提供网络服务。TCP提供的是面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。面向连接的协议在任何数据传输前就建立好了点到点的连接。ATM和帧中继是面向连接的协议,但它们工作在数据链路层,而不是在传输层。普通的音频电话也是面向连接的。
……
阅读全文
Templete(C++)
摘要: 一、什么是模板
模板是根据参数类型生成函数和类的机制(有时称为“参数决定类型”)。通过使用模板,可以只设计一个类来处理多种类型的数据,而不必为每一种类型分别创建类。
例如,创建一个类型安全函数来返回两个参数中较小的一个,如果不使用Templates,必须要编写一系列如下的函数:
……
阅读全文
进程和线程
摘要: 一、
现代的操作系统都可以有多个进程,而每一个进程都可以有多个线程;同一进程中的线程之间共享同一块存储空间,所以都可以访问同一个全程变量等,而进程之间要通讯需要使用共享内存等手段。对操作系统来说,进程的开销大,而线程则小得多。
关于进程较实质的定义﹕
1. 进程是程序的一次执行;
2. 进程是可以和别的计算器并发执行的计算;
……
阅读全文
敏捷开发简介
摘要: ASD:Agile Software Development——敏捷软件开发
1、什么是敏捷软件开发?
敏捷软件开发是一个概念意义上的框架,用来取代软件工程项目的概念;它强调在项目的整个生命周期中,拥抱并促进由于软件进化式的发展所带来的变化。
请注意其中的三个关键词:
……
阅读全文
web游戏制作过程详细介绍
摘要: 一、游戏制作的主要流程
电脑游戏开发小组中的任何一个人(这个角色通常有策划担任),只要有了一个新的想法或念头,就孕育着一个新游戏的诞生。在这个创意被充分讨论之后,再加上对其操作过程的趣味性及市场销售的可行性的预测等因素的准确判断,一个完整的策划方案才可能产生。在经过充分的讨论后,策划人员必须将讨论的重点写成文字,也就是提出完整的策划方案,经
……
阅读全文
iterator中的前++和后++(C++)
摘要: for(iterator it = begin(); it != end(); ++it)
或者
for(iterator it = begin(); it != end(); it++)
区别是什么呢??
……
阅读全文
游戏开发使用何种语言
摘要: 目录:
1、C语言
2、C++
3、C++与C的抉择
4、汇编语言
5、Pascal语言
6、Visual Basic
7、Java
8、创作工具
9、结论
……
阅读全文
Object-Oriented Analysis 优点
摘要: Object-Oriented Analysis 优点
--------说法一:
1、维护简单。
模块化是面向对象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,我们可以在名字空间中添加一个类而不会影响该名字空间的其他成员。
……
阅读全文
操作系统中断
摘要: 1、中断的类型。
从中断事件的性质出发,中断可以分为两大类:
强迫性中断事件:包括硬件故障中断,程序性中断,外部中断和输入输出中断等。
……
阅读全文
子网掩码计算
摘要: IP地址=网络号 连接 主机号,当需要子网划分时,主机号高位部分会作为子网号,从而减少主机数目。
IP分类:(A、B、C比较常用)
A类
……
阅读全文
测试用例的作用
摘要: 1. 你工作不主动,你需要测试用例来催着你去工作;
2. 你测试时总感觉思维很混乱,或者总感觉有些功能没有测到,而一些功能已经测过好几遍了,这样测试用例能够帮你理清头绪,进行比较系统的测试,不会有太多的重复,也不会让你的测试工作产生遗漏;
……
阅读全文
转载-微软笔试题目
摘要: 一、选择题
主要的知识点:
1、临界变量critical section的概念(还有semaphore,thread类似的这些)。
2、存储器cache写穿透和写返回的概念(复习一下高体的cache)。
……
阅读全文
智力测试题目
摘要: 说谎国与诚实国:
询问诚实国的路,只需要问任意一个人“你的国家怎么走”,则他们所指的路都是诚实国的路。
12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球
……
阅读全文
小百科
摘要: 【四大名绣】苏绣〖苏州〗、湘绣〖湖南〗、蜀绣〖四川〗、广绣〖广东〗
【四大名扇】檀香扇〖江苏〗、火画扇〖广东〗、竹丝扇〖四川〗、绫绢扇〖浙江〗
【四大名花】牡丹〖山东菏泽〗、水仙〖福建漳州〗、菊花〖浙江杭州〗、山茶〖云南昆明〗
……
阅读全文
美语口头语
摘要: Thousand times no! 绝对办不到!
Don't mention it. 没关系,别客气。
Who knows! 天晓得!
……
阅读全文
天津俗语
摘要: 扫盲用~
1、 上亮子
特指门上方的玻璃窗。(不知其他地方的人对这一物件有没有特定的叫法)
……
阅读全文
[2008年10月22日]扬讯笔试和群硕面试
摘要: 2008年10月22日,是我很难忘记的一天。本来昨天应该写好这篇文章,但是实在太累了,就没有写。等到今天想写写昨天的事情,竟然脑子里的东西变得很杂乱。仔细回想一下,昨天引导我一天经历的是……地铁。
早上快9点出门,到食堂买早饭
……
阅读全文
[2008年10月24日]忙碌的一天啊
摘要: 今天从早上到下午,一共收到3个通知,有维塔士的笔试通知、久游的面试通知和腾讯的笔试通知。
早上睡梦中被电话惊醒,看到来电号码是座机,而且不是熟人,就知道有好消息来了。接听了电话,原来是维塔士公司找我下周三去笔试,电话那边的工作人员问了问我从什么地方得知的维塔士,然后告诉我当天
……
阅读全文
[2008年10月19日]群硕笔试
摘要: 群硕在张江浦东软件园,第一次去张江,人生地不熟,自己又是不辨东西南北的路盲~~ 还好我一贯冷静,再加上王MM的包上有个指南针!看了看张江地铁站门口的地图,记住几个重要的道路名称,我就出发了。这一躺真叫一个远!去的时候
……
阅读全文
做人
摘要: 1、说话要用脑子,敏事慎言,话多无益。讲话不要只顾一时痛快,信口开河,以为人家给你笑脸就是欣赏,没完没了把掏心窝子的话都讲出来,结果让人家彻底摸清了家底,还偷着笑你。
2、遇事不要急于下结论,即便有了答案也要等等,也许有更好的解决方式,站在不同的角度就有不同答案,要学会换位思维,特别是在遇到麻烦的时候,千万要学会等一等、靠一靠。
……
阅读全文
12种貌似卫生的不卫生习惯
摘要: 生活中有一些习惯,貌似卫生,实际上并不卫生,不仅不能保证身体健康,反而对身体有害。
1.白纸用于包食品
为了白纸的“白”,许多厂家在生产过程中往往使用漂白剂,而漂白剂在与食品接触后,会引起一系列化学反应,产生一些有害物质,极易对食品造成污染。
2.卫生纸擦拭餐具、水果
……
阅读全文
面试或笔试题目要点(Java)
摘要: 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。字符型,数值型,布尔型
2.字符串的操作:
写一个方法,实现字符串的反转,如:输入abc,输出cba
写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。
……
阅读全文
== 与 equals 的区别(Java)
摘要: 在比较字符型数据时,==比较的是内存中的地址,比较的是对象的句柄;而equals()比较的是地址内的内容,比较的是对象。由于JAVA中除基本数据类型外其它一切都是对象,而对象变量存储的都是引用,相当于C中的指针,所以在比较对象时如String,用==是比较两个变量是否指向同一个对象,而用equals才是比较两个String的内容是否相等。
==绝对比equals快。
……
阅读全文
栈内存与堆内存(Java)
摘要: Java把内存划分成两种:一种是栈内存,一种是堆内存。
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。
……
阅读全文
质数判断算法
摘要: 有人做过这样的验算:1^2+1+41=43,2^2+2+41=47,3^2+3+41=53……于是就可以有这样一个公式:设一正数为n,则n^2+n+41的值一定是一个质数。这个式子一直到n=39时,都是成立的。但n=40时,其式子就不成立了,因为40^2+40+41=1681=41*41。
研究发现质数除2以外都是奇数,而奇数除了【奇数*奇数】(或再加“*奇数”)都是质数。那么用计算机先把【奇数*奇数】(或再加“*奇数”)(比如9,15,21,25,27,33,35,39……)都求出来,再找奇数中上面没提到的那些数,那些数就是素数。
有近似公式: x 以内质数个数约等于 x / ln(x) .ln是自然对数的意思。准确的质数公式尚未给出。10 以内共 4 个质数。100 以内共 25 个质数。
……
阅读全文
计算二进制位"1"的个数
摘要: 写一个函数,返回数字中二进制位为'1'的个数。
方法1:分别判断各个位
方法2:循环中直接计算1的数量
方法3:并行计算的
PS:
这些方法是计算二进制形式1的个数,如果用来判断一个数是否是2的整数次幂,可以用这些方法,但是对此还有更好的方法,就是 A xor (A-1) == 0。
阅读全文
01背包问题的贪婪算法
摘要: 0/1背包问题有好几种贪婪策略,每个贪婪策略都采用多步过程来完成背包的装入,在每一步过程中利用贪婪准则选择一个物品装入背包。
1、从剩余的物品中,选出可以装入背包的价值最大的物品。利用这种规则,价值最大的物品首先被装入(假设有足够容量),然后是下一个价值最大的物品,如此继续下去。这种策略不能保证得到最优解。例如,n=2, weight=[100, 10, 10], prize=[20, 15, 15], count=105。当利用价值贪婪准则时,获得的解为x= [1, 0, 0],这种方案的总价值为20。而最优解为[0, 1, 1],其总价值为30。
……
阅读全文