自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我和代码的故事

专注unity3d,cocos2dx手游开发

  • 博客(35)
  • 资源 (5)
  • 收藏
  • 关注

原创 一日一设计模式之C++篇(Build模式)

公司的火影手游项目美术资源还没有到位,所有最近闲着没事在看C++的设计模式。虽然现在工作一直在用unity3d下写C#脚本,但是一直以来对C++的情有独钟让我坚持用C++的角度去看待软件开发。设计模式可以看作是算法,是前人大量的软件工程的经验总结。回顾自己1年半多的工作经历,发现C++的设计模式基本上都在工程中用到了一遍,为此感觉自己有必要写点东西记录下这些感想。Build模式在Gof书有描述

2013-12-05 10:24:36 2341 1

翻译 理解typename的两个含义

问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同?template class Widget; // uses "class"template class Widget; // uses "typename"答案:没什么不同。在声明一个 template type parameter(模板类型参数)的时候,class

2012-07-05 09:42:11 454

原创 如何减少重复编译(对于大项目而言)

解决这个技术的叫做句柄类(handle class),有关实现的东西都消失,只留下一个单一的指针。例如在一个类中声明一个结构chest,然后定义一个结构指针作为该类成员变量。该结构的实现在文件中,当修改该结构的成员时,就只需要重新编译文件,然后连接到项目中。H:#ifndef _HANDLE_CLASS_#define _HANDLE_CLASS_class handle{p

2012-07-04 10:00:51 570

转载 堆与栈有什么区别

一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态

2012-07-03 13:27:16 312

转载 C ++ 的 背 影

C ++ 的 背 影                   ——C++之父Bjarne Stroustrup印象 左轻侯 2002.11.4  热爱C++的朋友请不要误会,我并不是在暗示“C++已经日薄西山”,或者任何类似的意思。从语义上来说,C++作为一门编程语言,当然不会有什么背影。事实上,我想说的是一个人的背影。因此这个题目显得有点突兀,甚至哗众取宠。但是我想,在C++

2012-06-27 14:01:34 1530

转载 国外程序员推荐:每个程序员都应读的书

“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,整理编译这个问答贴,同时摘译部分推荐人的评语。下面就按照各本书的推荐数

2012-06-21 09:50:54 332

转载 关于Dijkstra算法的实现

[cpp] view plaincopyprint? #include    using namespace std;     const int maxnum = 100;  const int maxint = 999999;        void Dijkstra(int n, int v, int *dist, int *prev, int c[maxnum][maxnu

2012-04-21 22:37:54 348

原创 C++简易模仿C#Delegate机制

嗯,最近公司要求用C#做个项目,可惜我以前没怎么学过,所以恶补了下C#相关知识。由于在项目中频繁用到delegate机制,但是初看起来有点蒙。经过自己反复推敲,我觉得大致上算理解了它的机制,于是我用C++写了一些代码来模仿C#Delegate运行机制。代码如下:/**********************************************this a proj

2012-03-30 18:56:54 786

原创 __FILE__,__LINE__,__DATE__的含义

#include int main(){ std::cout<<__DATE__<<std::endl; std::cout<<__FILE__<<std::endl; std::cout<<__LINE__<<std::endl; return 0;}结果是:Mar 27 2012d:\VC 6.0\TEST\main.cpp7

2012-03-27 11:09:55 1029 1

转载 VC 6.0字体设置

Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER/Software/Microsoft/DevStudio/6.0/Format] [HKEY_CURRENT_USER/Software/Microsoft/DevStudio/6.0/Format/Calls Window] "FontFace"="Courier

2012-03-19 11:40:53 528

原创 汇编指令: JO、JNO、JB、JNB、JE、JNE、JBE、JA、JS、JNS、JP、JNP、JL

名称   功能   操作数 操作码 模数 寄存器1 寄存器2或内存 位移量 立即数 符号 方向 芯片型号 16位 32位 JO 溢出跳转 短   $70 无 无 无 无 10 无 无 8086 无 无 JNO 不溢出跳转 短   $71 无 无 无 无 10 无 无 8086 无 无 JB 低于跳转 短   $72 无 无 无 无 10 无 无 8086 无 无 JNB 不

2012-02-29 09:56:01 6180

转载 如何使用spy ++ (How to use Spy ++)

一个网友在我的一篇随笔后问道,如何使用spy ++ 查找要用到的窗体类名以及相关信息现把相关作法整理如下如果你装了vs.net,在vs.net的工具里面就可以看到spy ++打开spy ++,会以树状图显示当前系统所有的窗体信息,如下所示然后找到你需要用到的窗体,比如说下面这样当然,这里的窗口并不一定都是窗口,子窗体的一般都是指父窗体中的控件而已

2011-10-29 10:20:39 496

转载 代码重构原则 by acidrain

1 总则 总则规定了一些大体原则,必须要作的、最需要注意的事项。也是面向目前我们的代码中亟需解决的一些问题: (1)头文件、源文件布局混乱,直接影响编译效率 (2)有编程规范,但遵守的很差 (3)过长函数 (4)大量重复代码 1.1 源文件 源文件

2011-10-18 19:16:14 463

转载 CString 操作指南

CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。使用CString可以让你对字符串

2011-07-13 10:50:26 465

原创 LPCSTR引发的思考

<br />解释一:LP-长指针<br />C-Const<br />T-Unicode/ANSI兼容<br />STR-字符串解释二:LPCSTR   A 32-bit pointer to a constant character string.<br /><br />LPSTR   A 32-bit pointer to a character string.<br /><br />LPCTSTR   A 32-bit pointer to a constant character string th

2011-05-29 22:22:00 3313

转载 动态链接库实现

<br />1、 DLL的概念<br />DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。<br />静态链接库与动态链接库的区别:<br />(1) 静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。<br />(2) 静态链接库中不能再包含其他的动态链接库或者静态库,而

2011-05-29 20:56:00 1305

原创 VS2008/2005代码排版快捷键

<br /><br /> Visual Studio快捷键 [VS2008/VS2005] 强大的自动排版 收藏 <br />Visual Studio快捷键 [VS2008/VS2005]<br />***********************************************<br />VS系统通用快捷键:<br />1、自动排版(类似VC6中的Alt+F8) <br />编辑.格式化选定内容 Ctrl + K,Ctrl + F 根据周围的代码行,正确缩进选定的代码行。<br />2、注

2011-05-22 21:16:00 1792

转载 深度解析VC中的消息

消息是指什么? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做MSG,MSG含有来自wi

2011-05-09 11:36:00 388

转载 工具栏(CToolBarCtrl)详细操作[转]

<br />工具栏(ToolBar)是一种非常方便的控件,能大大增加用户操作的效率,但是基于对话框的程序,却不能像使用编辑框(Edit Box)和列表框(List Box)一样,方便地增加工具栏控件。本文将介绍一种在对话框中加入工具栏的方法。<br /><br />  一、 技术要点分析<br /><br />  所有的Windows控件(包括工具栏、编辑框等)都派生自CWnd类,这就意味着,我们可以用窗口类的Create()函数把它们“创建”并显示到另一个窗口(例如对话框)上。把工具栏加入到对话框中正是使

2011-03-28 16:20:00 4417

转载 xp下实现窗体透明特效SetLayeredWindowAttributes函数

摘要:本文主要介绍了Windows 2000下新增的API函数SetLayeredWindowAttributes()以及通过该函数实现窗体透明特效的一般方法,并结合代码给出了具体的编程实现过程。引言   Windows 2000操作系统无论是在品质上还是在用户界面上都有了很大的改善与提高,用户对系统的操作变的更加简单、方便,感觉也更加舒适。如果用户在使用时留意一下,不难发现其中界面上的一些新特性。例如,Windows 2000提供了对带阴影阿尔法混合光标的支持、提供对菜单、提示框淡入淡出效果的支持以及在外

2011-03-27 13:29:00 1396

转载 无法解析的外部符号的几种可能

无法解析的外部符号的几种可能 <br />1. lib 文件未引入。可使用“#pragma comment(lib, “winsock.lib”) ”语句添加 lib 引用,也可在项目依赖里添加。<br />2. 类方法的实现未加类标识。如, “CTest::Connect(void) { … }” 写成了 “Connect(void) { … }”。<br />3. 缺少 obj 文件。在项目里添加“包含路径”:C:/curl/lib/release-dll/*.obj。<br />4.

2011-03-09 22:04:00 2768

转载 #pragma once与 #ifndef的区别 (转)

<br />为了避免同一个文件被include多次<br /><br />1   #ifndef方式<br />2   #pragma once方式<br /><br />在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。<br />    方式一:<br />    #ifndef __SOMEFILE_H__<br />    #define __SOMEFILE_H__<br />    ... ... // 一些声明语句<br /> 

2011-01-01 13:01:00 340

原创 CSpinButtonCtrl控件的使用方法

小笔记

2010-12-23 23:39:00 512

原创 MFC中OnDraw与OnPaint的区别 (转载)

<br />MFC中OnDraw与OnPaint的区别<br /><br /><br />OnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。<br /><br />OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能.当视图变得无效时(包括大小的改变,移动,被遮盖等等),Windows发送WM_PAINT消息。该视图的OnPaint 处理函数通过创

2010-11-21 16:16:00 404

原创 VC定时器SetTimer函数

<br />一、SetTimer表示的是定义个定时器。根据定义指定的窗口,在指定的窗口(CWnd)中实现OnTimer事件,这样,就可以相应事件了。<br />SetTimer有两个函数。<br /><br />①一个是全局的函数::SetTimer()<br /><br />UINT SetTimer(<br />HWND hWnd, // handle of window for timer messages<br />UINT nIDEvent, // timer identifier<br

2010-11-16 16:21:00 336

原创 关于数值方法的一些算法解析(3)

<br />再次继续~最后了 <br />1、复合求积公式计算定积分<br /><br />//<br /> <br />#include <iostream><br />#include <iomanip><br />#include <cmath><br />using namespace std;<br />//<br />#define e 2.718281828459<br />#define epsilon 0.0001  //精度<br />#define MAXREPT  10   //迭代

2010-06-13 13:52:00 304

原创 关于数值方法的一些算法解析(3)

<br />再次继续~最后了 <br />1、复合求积公式计算定积分<br /><br />//<br /> <br />#include <iostream><br />#include <iomanip><br />#include <cmath><br />using namespace std;<br />//<br />#define e 2.718281828459<br />#define epsilon 0.0001  //精度<br />#define MAXREPT  10   //迭代

2010-06-13 13:52:00 503 2

原创 关于数值方法的一些算法解析(3)

<br />再次继续~最后了 <br />1、复合求积公式计算定积分<br /><br />//<br /> <br />#include <iostream><br />#include <iomanip><br />#include <cmath><br />using namespace std;<br />//<br />#define e 2.718281828459<br />#define epsilon 0.0001  //精度<br />#define MAXREPT  10   //迭代

2010-06-13 13:51:00 348

原创 关于数值方法的一些算法解析(2)

<br /> 继续上次的~<br />3、编程分别用Lagrange插值多项式和Newton插值多项式计算x0=0.6,0.8,1.0处的sinx函数值<br /> <br /> <br />#include <stdio.h> <br />#include <stdlib.h> <br />#include <iostream> <br />#include <cmath><br />using namespace std;<br />typedef struct data <br />{ <br /> 

2010-06-13 13:39:00 286

原创 关于数值方法的一些算法解析(1)

这学期新增加了一门课,名为“数值方法”。其实就是利用数学方法结合编程以解决一些实际问题~看似简单,其实里面也包含了很多数学技巧!班里大部分人都觉得这门课很难,的却对于没怎么掌握好一门编程语言的人而言,要他们用代码体现这一算法,很有挑战性!我个人觉得很Easy!最近听到一句话:觉得很中肯.自恋和自负比自卑更好,与其自卑,不如自恋一会!哈哈..也许是谬论,但是也很有借鉴价值。最近被学校的“世纪英才”录取了,心情不错!很久没有写博文了,今天就抽空写下!希望大家能继续关注我....下学期貌似有VC程序设计,是外教。

2010-06-13 13:34:00 463

原创 清明祭

我怕: 阳间的我在缅怀阴间的你时, 阴间的你也在叹息阳间的我。 我想你相信:我定不会让阳间的自己象生活在阴间一样, 只有幽魂在黑暗里无希望、无进取地飘荡。我要你放心:你留在阳世上的牵挂,我定会照顾好;你留给我的音容笑貌,我定会珍藏好。你和我都知道:你和我不得已分开的时候,都无可奈何;现在我们渴望重逢的时候,却毫无可能。请您安息!让我来替你在世上忙

2010-04-06 00:27:00 406

原创 pku 2082

这题主要是用递归的思想做:题目:http://acm.pku.edu.cn/JudgeOnline/problem?id=2082递归的题目得多练练,感觉还是不行~【代码】如下:#include #include using namespace std;bool Echange(int i,int j,int n){ if(n==1) return true; if((i=2*

2010-04-01 17:56:00 322

原创 PKU 2039

开始写做题笔记了!前期先水2题~废话不说:贴代码! #include #include using namespace std;/*   author 潇*/int main(){ int n,m; int i,j; char a[201],b[201][201]; while(cin>>n&&n) {  cin>>a;  m=strlen(a);  //执行的算法  int p=m/n;

2010-03-21 17:02:00 287

原创 【快讯】2010 ACM/ICPC总决赛结束 上海交通大学获得冠军

【Csdn 2月5日 快讯】今天下午,2010 ACM/ICPC总决赛结果公布,上海交通大学夺得此次大赛第一名,这也是上海交大参加ACM大赛以来第三次获得冠军。第二名为莫斯科大学,台湾大学获得第三名。GoldShanghai Jiaotong University (1)Taras Shevchenko Kiev National University (2)National Taiw

2010-02-07 18:07:00 1392

原创 树的简单遍历

#include #include "malloc.h"using namespace std;typedef struct BiTNode{    char data;    struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;BiTree Create(BiTree T){    char ch;    ch=getchar();    if

2010-01-12 16:46:00 410

游戏的设计与开发

这是一本介绍游戏的好书,清晰的PDF文档,以及对游戏设计的叠层描述,都是值得称赞的。

2012-07-10

leak_detector_c

总共有2个CPP和1个H文件。该资源在传统的链表功能上做了一些改进,让你对内存的处理(例如申请,删除)记录下来,这样你可以随时掌握内存的分布情况。更加安全管理内存,防止泄露。

2012-07-04

colorbtn用于按钮自绘

Written by Bob Ryan。完整封装了BUTTON自绘。挺好用的,可以实现BUTTON的背景颜色,字体颜色,前景颜色的设置。也可以基于这个写出自己想要的扩展风格.

2011-12-02

calculator

这是个windows编程写的一个计算器,难点在于算法。写的不好见谅!

2010-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除