
其它
文章平均质量分 67
Forrest-Gump
这个作者很懒,什么都没留下…
展开
-
Windows与Linux中的回车换行
回车与换行的起源关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想原创 2013-04-27 10:48:52 · 1067 阅读 · 0 评论 -
C++内联函数与C语言宏的比较
C++内联函数通过将内联函数的编译代码与其它程序代码“内联”起来,提高程序运行的速度。即:编译器将使用相应的函数代码替换函数调用。对于内联代码,程序无需跳到另一个位置处执行代码,然后在跳回来。因此,内联函数的运行速度比常规函数稍快,但代价是要占用更多的内存。若在多个不同的地方调用同一个内联函数,则程序将包括该函数的多个代码拷贝。应当有选择的使用内联函数。当函数代码过长或者逻辑较为复原创 2013-04-27 10:18:15 · 1191 阅读 · 0 评论 -
内存对齐
内存对齐原因 主要是两个方面的原因: (1):平台原因(方便移植) 不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常; (2):性能原因 数据结构应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的原创 2013-04-27 17:21:04 · 575 阅读 · 0 评论 -
函数指针
函数地址 函数也有地址,函数地址指的是存储其机器语言代码的内存的开始地址。 可以编写将另一个函数的地址作为参数的函数。这意味着,可以在不同的时间使用不同的函数。函数地址的获取 函数名即为函数地址。 如果f()是一个函数,则f就是该函数的地址。要将函数作为参数进行传递,必须传递函数名。 process (t原创 2013-05-03 11:11:44 · 509 阅读 · 0 评论 -
巧用异或运算
异或运算 对两个整数进行异或运算(运算符为^),将两个整数化成二进制表示,然后逐位运算。运算规则如下: 0 ^ 0 = 0; 0 ^ 1 = 1; 1 ^ 0 = 1; 1 ^ 1 = 0; 即两个位相同时,异或结果为0,反之,异或结果为1. 因此,两个相等的整数异或结果为原创 2013-05-17 14:57:15 · 1287 阅读 · 0 评论 -
博弈问题
博弈问题概述 常见的博弈类问题有三种:巴什博弈、威佐夫博弈和尼姆博弈。 一般的思路都是寻找奇异局势(必败态)。 必败态:下一步无论如何处理都会达到必胜态; 必胜态:下一步至少存在一种处理可以达到必败态。 如果一开始是一个奇异局势,则先手必败;否则,先手必赢(如果双方都懂得游戏规则)。巴什博弈问原创 2013-06-03 21:53:08 · 1060 阅读 · 0 评论 -
不使用中间变量交换两个数
传统方法在交换两个数的值时,最经常使用的方法是借助于一个中间变量来进行交换。 temp = a; a = b; b = temp;方法一通过巧妙的加法与减法运算来实现两个数的交换。 a = a + b; b = a - b; a = a - b;方法二使用位运算(异或)来交换原创 2013-06-29 09:59:55 · 923 阅读 · 0 评论 -
makefile基础
概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefil转载 2013-07-19 11:46:27 · 640 阅读 · 0 评论