- 博客(46)
- 资源 (2)
- 收藏
- 关注
原创 Windows Live Write Test Plug synx highlight
#include using namespace std;int main(int argc,char** argv){ return 0;}
2015-11-10 14:56:42
455
原创 快速的 log2的算法。
用coco2d 的时候,看到读取ccbi文件。顺便研究了下。这个是mac 下 cocosbuilder 编辑完成以后发布的 2进制文件,windows 下没有工具打开。就稍微研究了一下格式,这东西里面坑真不少。以后研究透彻了在写博客记录下。目前发现一个坑就是这里面的 INT 和UINT 值是用的 Elias gamma coding 具体可以看看 http://en.wikipedia.or
2013-11-08 00:03:48
9299
原创 stl 学习笔记14 Reverse Iterator
//逆向迭代器,跟正向的迭代器一样是半开区间,但以相反的方向。////iter/reviter1.cpp//-rbegin -//-rend-#include #include #include using namespace std;void print(int elem){ cout << elem <<' ';}int main(){ list col
2012-06-05 15:37:49
520
原创 stl 学习笔记13 advance()distance() iter_swap()
advance 提供给所有的迭代器 Random Access 才有的功能,另迭代器前进,增加的幅度有参数决定。//iter/advance1.cpp//advance 迭代器前进//-#include #include #include using namespace std;typedef std::list IntList;typedef std::list::it
2012-06-04 13:50:35
545
原创 VSS 文件的清理类
VSS 是微软的 项目管理工具,全称是 MicroSoft Visual SourceSafe. 现在的版本是 VSS2005 ,老一点的公司有的还在用VSS6.0,是跟 VC++ 6.0 配套的管理工具。虽然是微软的产品,但这款软件是出了名的难用,连微软自己都不用。微软自己不用,但少不了别人用。鄙人的上一个项目就是用的VSS,后来改成了 AB(Alienbrain )。在网上下载代码阅读,发现好
2012-03-09 22:39:48
1563
原创 随机访问 的 迭代器 (iterator)
//itercat#include #include #include "print_elements.h"using namespace std;int main(){ vector coll1; for(int i = -3;i <= 9; ++i) { coll1.push_back(i); } PRINT_ELEMENTS(coll1); cout <
2011-11-22 00:18:00
3207
1
原创 Bmp 格式的 图片文件读写
<br />最近研究公司的图片文件格式,看着压缩算法真是头疼,基础的东西都放下了,有重新温习了一下 Bitmap 文件的读写。写到blog上,下次在忘了就看看吧。<br /> <br /> typedef struct TAG_BITMAP_FILE { BITMAPFILEHEADER bmpf; BITMAPINFOHEADER bminfo; PALETTEENTRY palette[256]; UCHAR* pBuffer; }BITMAP_
2011-05-10 21:54:00
998
原创 纯虚函数不可实例化。别记错了。
纯虚函数不可以实例化,但是可以用作派生类的生成,以前理解存在错误。记录一下#include using namespace std;class virClassBase{public: virtual void Run() = 0;};class virClassA: public virClassBase{public: virtual void Run() { cout
2011-04-14 23:55:00
3300
转载 巧用成员函数指针
前面一段时间在宠物模块重构的时候,惊叹这个模块的好几个函数长度居然有达到3000行,在重构这块的时候用,利用函数指针写了一个小的工具模板。函数指针与成员函数指针,在一些进阶应用中时有涉及,比如常见的EventMap,这里介绍一个经常用成员函数指针来对长长switch的进行的重构手法。 先简单的说明一下函数指针与成员函数指针: 1 #include2 3 class CPlusPlus_Class; 4 1 //声明了一个函数指针类型 pfnHandle_C, 这个函
2010-11-10 23:12:00
536
原创 从int 到string类型的转换
//在网上看到的从int 到 string类型的转换从int 到string的几种方法 1. int sprintf( char *buffer, const char *format [, argument] ... ); 例如: int ss; char temp[64]; string str;
2010-04-30 11:22:00
2071
转载 游戏程序员养成计划
与玩游戏相比,写游戏要复杂上千万倍,除了需要掌握通用的编程技巧以外,还要有相当的图形学,物理,数学基础,特别是在国内,由于相关资料的缺乏,更是让初学者无从下手。下面总结了一些入门方法和比较容易入手的资料。 首先你要精通一门高级语言,比如C++或者C#,其次,要有良好的英文阅读能力。对游戏开发者来说英文阅读能力是最重要也是最基本的工具之一,因为你遇到的大部分资源都将是英文的,
2009-10-22 15:35:00
483
原创 遵守书写代码的规范,记住可用的const都要写。
以前项目里都用公司的库,没怎么用标准库,今天标准库的vector,出错了。c:/program files/microsoft visual studio 8/vc/include/xutility(2949) : error C2679: 二进制“=”: 没有找到接受“const cl_a”类型的右操作数的运算符(或没有可接受的转换)后来发现 vector 中作为模板的类,如果重载了 Oper
2009-10-21 22:12:00
686
原创 终于博客又开通了。
真不容易啊。发文留念下。看了一下邮件,说是跟政治有关,找了下文章,没找到。不知道当年热血沸腾干了什么相关的好事情了。唉。人生啊。 太颓废了。这一年有空时间都去玩网游去了,没写blog,忏悔下。浪子回头,重新做人。。。TOT.
2009-10-21 11:55:00
422
转载 Zlib 简单的使用
Zlib Zlib是一個跨平台的壓縮函數庫,提供了一套 in-memory 壓縮和解壓函數,並能檢測解壓出來的數據的完整性(integrity)。關于zlib的更多信息請訪問 http://www.zlib.net 在 http://www.chinaaspx.com/archive/develop/11324.htm 上有一篇簡單地使用Zlib的文章。 上面那篇文章只是
2008-03-22 17:52:00
1157
转载 OGRE初学者引导
目录1 初学者如何开始OGRE2 何时需要STLPORT ,为什么? 2.1 如何安装STLPORT?3 Visual Studio.NET (VC7)4 GCC 3.3/3.45 GCC 3.3/3.4 DEV C++6 GCC 3.3 Cygwin/MinGW7 Anjuta IDE8 你的第一个程序 8.1 编译 运行 8.2 添加第一个物体 8.3 添加灯光9 Fr
2007-12-20 21:40:00
2587
3
原创 typename 做型别之前的标识符号
#include iostream>using namespace std;class IntClass...{public: typedef int subType;};template typename T>class Base...{public: //typename 修饰,subType 视为一个型别 //如果不用,subType 视为一个值 typename
2007-12-16 15:18:00
616
原创 stl 学习笔记 12
//cont/array1.cpp/**//*======================array 可以做为stl容器。但不提供 begin()和end(),也不提供任何成员函数======================*/#include iostream>#include algorithm>#include functional>using namespace std;int mai
2007-12-16 03:16:00
550
原创 stl 学习笔记 11
//stl/map1#include iostream>#include map>#include string>using namespace std;int main()...{ //StringFloatMap typedef mapstring,float> StringFloatMap; StringFloatMap stocks; stocks["B
2007-12-05 00:46:00
597
原创 stl 学习笔记 10
//stl/list1.cpp#include iostream>#include list>#include algorithm>using namespace std;void PrintList(const listint>& l1,const listint>& l2)...{ cout "list1: "; copy(l1.begin(),l1.end(),ostream
2007-12-03 16:07:00
459
原创 stl 学习笔记 9
vector 容器方法的例子//stl/vectors1/**//*vector 的一些方法*/#include iostream>#include vector>#include string>#include algorithm>using namespace std;int main()...{ vectorstring> sentence; sentence.re
2007-11-29 22:37:00
546
原创 stl 学习笔记 8 续 (function object)
function object 续//stl/fo1.cpp/**//*预先定义好的 function object*/#include iostream>#include set>#include deque>#include algorithm>#include "print.h"using namespace std;int main()...{ setint,greater
2007-11-28 11:48:00
538
原创 stl 学习笔记 8
function object 仿函数 //stl/ foreach2.cpp/**//*using function object*/#include iostream>#include vector>#include algorithm>using namespace std;/**//*function object(仿函数,函数对象)*/class PrintInt...{
2007-11-28 00:23:00
493
原创 stl学习笔记7
//stl/foreach1.cpp/**//*函数作为算法的参数*/#include iostream>#include vector>#include algorithm>using namespace std;void print(int elem)...{ cout elem ;}int main()...{ vectorint> coll; for(int i
2007-11-11 23:20:00
609
原创 stl学习笔记6
更易行算法(manipulating algorithms)指能够删除或者重排或者修改元素的算法。 //stl/remove1.cpp/**//* remove 并不改变群集中的元素数量,end()返回的是当初的那个终点,size()返回原来的size。*/#include iostream>#include list>#include algorithm>using namespa
2007-11-11 01:22:00
555
原创 打砖块游戏 version 0.2
打砖块游戏 version 0.2版本,前一个版本画方块是在dx9 下用的colorfill 话的,连ball 也是个方块,这个版本用的是3D mesh,跟前一个版本看起来虽然很像,不过差别很大。还是有点粗糙,有谁需要源代码,发邮件给我
2007-11-10 21:58:00
973
3
原创 stl学习笔记5
//stl/inserter_iterator.cpp/**//*迭代器适配器(iterator Adapters) 是一组预先定义好的 迭代器,下面是安插型迭代器的用法。其他的还有,流迭代器(stream iterators),逆向迭代器( reverse iterators),有这个,拷贝的时候就不用怕空间溢出引起程序崩溃了 。。。。:)*/#include iostream>#inclu
2007-11-08 12:50:00
645
原创 stl学习笔记4
//stl/copy/**//*copy() function 执行复写(overwrite)动作,要求指出第一区间的 起点和终点,指出第二区间的起点,如果第二区间的大小不足,copy函数会覆写 end()后面的部分,可能会引起程序崩溃,或者更严重的后果。所以如果不用 insert iterators,那么就要求保证呢个目的有足够大的空间,下面程序用了两种方法container.resize(
2007-11-08 01:28:00
454
原创 关于extern的用法
在一个头文件中声明的函数//head.h#ifndef __HEAD_H__#define __HEAD_H__extern void fun();#endif的作用是想让其他有 #include "head.h"的文件都有 extern void fun();这句话。这样的话,在连接的时候就会自动去找到fun函数的实现.因为对于函数来说:void fun();
2007-11-07 15:35:00
626
原创 stl学习笔记3
Maps插入成对的key/value.//stl/mmap1.cpp/**//* multimap 允许重复的key键值,如下输出 this is multimap of strings tagged map中存放 pair,可以用 make_pair函数生成*/#include iostream>#include map>#include string>using
2007-11-06 22:56:00
536
原创 stl学习笔记2
set 和multiset 以后用来做排序很方便啊。 这个就是把元素以排序的状态存放于内部的tree结构。set 不允许元素重复,multiset允许元素重复。写个简单的代码//stl/ set and multiset //cpp//#include iostream>#include set>using namespace std;int main()...{ typedef s
2007-11-05 15:06:00
940
原创 stl学习笔记1
最近觉得有必要系统地学习一下stl了,感觉《The C++ Stand Library 》这本书相当不错,每天写一下里面的代码,当作练习,希望早日能够对Stl应用自如。入门第一课,今天写了一下序列式容器 的code //stl/vector1.cpp#include iostream>#include vector>using namespace std;int main(
2007-11-04 13:37:00
561
原创 vector 的一道改错题
c++的stl,真是一项伟大地发明。佩服一下。最近编程,觉得一是更加注重整个设计方面的知识,这要学习设计模式方面的知识,一个是应该对朝泛型方面发展,以前写的程序都太偏c了。最近看到一个 vector的改错题,如下: #include iostream>#include vector>using namespace std;int main()...{ vectorint> ar
2007-11-02 02:16:00
1042
原创 可能是 ID3DXSprite 的一个bug。
最近学习用d3d下的ID3DXSprite进行2D游戏的编程。发现一个问题,不知道是不是ID3DXSporite的bug,创建资源用的图像文件太大的话(我用的png 格式) ,然后进行Draw出来,会出现问题。贴一下代码 if(FAILED(D3DXCreateTextureFromFileEx( lpdevice,
2007-10-24 05:49:00
1381
2
转载 从Win32 API封装Thread类[2]
从Win32 API封装Thread类[2] 在上一篇中介绍了创建Thread的两种方法:从Thread类继承或者实现Runnable接口。有时候这并不是特别方便,我们需要的是更灵活的方法,比如像boost库中的Thread一样可以用普通函数和函数对象(functor and function object)作为构造函数参数。如果你熟悉STL,你应该熟悉bind1st和bind2nd这两个函数
2007-10-15 23:26:00
986
自己写的一个VSS清理工具
2012-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人