随笔分类 -  C/C++

摘要:引言:我想说明的是,这只是我开始初涉人工智能知识的思考日志。 一款有趣的游戏,必定需要游戏中各个环节的出色的发挥,比如人工智能模块的提现。还记得早期的电视游戏中的那些通关秘技吗?其实,当你在享受通关的快乐的时候,这款游戏可玩性也大大是缩短了。那么,如果Boss“学会”了思考呢?于是更智能的Boss出现了。需要说明的是,其实游戏中人工智能只能算是人工智能,这个深奥的领域的一部... 阅读全文
posted @ 2010-09-11 21:04 Maxice 阅读(2951) 评论(4) 推荐(3)
摘要:赤龙用rand()和srand()产生伪随机数的方法总结---------------------------------标准库<cstdlib>(被包含于<iostream>中)提供两个帮助生成伪随机数的函数:函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:... 阅读全文
posted @ 2009-12-28 22:55 Maxice 阅读(422) 评论(0) 推荐(0)
摘要:赤龙const常量、指向常量的指针和常量指针---------------------------------1)先看const常量的情况:const int a=2;int const b=c; // c是已经声明过的整型两者都可以。本地的const常量必须在第一次声明时就初始化,用变量或常量初始化都可以,只是初始化一次以后它的值就不能再改变了,此所谓const的含义。2)接着看指向常量的指针:... 阅读全文
posted @ 2009-12-28 22:54 Maxice 阅读(289) 评论(0) 推荐(0)
摘要:赤龙typedef的四个用途和两个陷阱---------------------------------用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, ... 阅读全文
posted @ 2009-12-28 22:53 Maxice 阅读(326) 评论(0) 推荐(0)
摘要:调用(calling)机制从汇编时代起已经大量使用:准备一段现成的代码,调用者可以随时跳转至此段代码的起始地址,执行完后再返回跳转时的后续地址。 CPU为此准备了现成的调用指令,调用时可以压栈保护现场,调用结束后从堆栈中弹出现场地址,以便自动返回。借堆栈保护现场真是一项绝妙的发明,它使调用者和被调者可以互不相识,于是才有了后来的函数和构件,使吾辈编程者如此轻松愉快。若评选对人类影响最大之发明,在火... 阅读全文
posted @ 2009-12-28 22:49 Maxice 阅读(356) 评论(0) 推荐(0)
摘要:3. 类模板的写法定义一个类模板:Template < class或者也可以用typename T >class类名{//类定义......};说明:其中,template是声明各模板的关键字,表示声明一个模板,模板参数可以是一个,也可以是多个。例如:定义一个类模板:// ClassTemplate.h#ifndef ClassTemplate_HH#define ClassTempl... 阅读全文
posted @ 2009-11-24 00:17 Maxice 阅读(1003) 评论(0) 推荐(0)
摘要:1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.float max( floa... 阅读全文
posted @ 2009-11-23 22:59 Maxice 阅读(517) 评论(0) 推荐(0)