自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

把握自己。

专注linux、english

  • 博客(31)
  • 资源 (7)
  • 收藏
  • 关注

原创 以boost::function和boost:bind取代虚函数

这是一篇比较情绪化的blog,中心思想是“继承就像一条贼船,上去就下不来了”,而借助boost::function和boost::bind,大多数情况下,你都不用上贼船。boost::function和boost::bind已经纳入了std::tr1,这或许是C++0x最值得期待的功能,它将彻底改变C++库的设计方式,以及应用程序的编写方式。Scott Meyers的Effecti

2012-08-29 17:16:31 1381

原创 Using STL

这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。一,STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort(

2012-08-27 22:42:24 1520 3

原创 enum定义时typedef的前与后

enum类型通常会与typedef关键字一起用,方便使用.有两种写法,第一种是typedef在enum前边,如:typedef  enum {    UIViewAnimationCurveEaseInOut,         // slow at beginning and end    UIViewAnimationCurveEaseIn,            //

2012-08-27 18:20:02 3470

原创 OGRE Coding Standards

This document describes the coding standards all developers are expected to adhere to when writing code for the OGRE project.Top-level organisation issuesAll source files must begin with the s

2012-08-24 18:10:36 1198

原创 C++模板惯用法

关于 C++ 模板编程的惯用法,note-to-self + keynote + idiom case + cross-reference 式笔记目录模板语法模板惯用法示例堆栈上分配编译优化的开关推导数组元素个数推导常数隐式转换的显式函数 implicit_cast推导 callable 可调用物用成员模板实现继承隐喻假设模板基类中的成员CRTP 循环模板模式结合使

2012-08-24 17:58:19 1795

原创 利用Thunk让C++成员函数变回调函数

windows API经常需要回调函数,而在C++开发中面向对象当行其道,若能让C++类的成员函数成为回调函数,简直就是大善!但是C++成员函数都隐含了一个this指针用于指向当前的对象。要实现回调确实不容易。    我大约一年前就接触到Thunk技术,甚至也看过利用Thunk实现将成员函数变成回调函数的例子。但是我实在没了解过C++汇编后的样子,很容易钻了牛角尖,看都看不懂,直接用他们的程序

2012-08-24 17:50:28 1899

原创 Pimpl idiom & fast Pimpl

The Pimpl idiom, also known as the compilation firewall or Cheshire Cat technique, is a "private implementation" technique useful only in CeePlusPlus and statically compiled languages like it...

2012-08-24 17:39:52 2015

原创 Mixing Objective-C, C++ and Objective-C++: an Updated Summary

Quite some time ago, I ran into the situation of including a C++ library in an Objective-C project. I failed to find any sensible documentation on the subject, so I came up with a solution myself and

2012-08-24 16:55:52 1913

原创 为什么将派生类声明为父类的友元类?或者相反

2012-08-23 23:19:08 4974 2

原创 C指针声明解读之右左法则

C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:  The right-left rule: Start read

2012-08-22 17:14:00 1497

原创 为什么C++赋值运算符重载函数不能被继承?

这个问题曾经困扰过我一阵子。请先看一下下面的源代码:class A1{public:         int perator=(int a)         {                 return 8;         }         int operator+(int a)         {                 return

2012-08-22 16:57:42 1536

原创 Strategies for Using C++ in Objective-C Projects (and vice versa)

Update (May 2012): while nothing in this article is incorrect, there have been some changes to Objective-C since clang became Apple's primary compiler. This means there is now an easier way to combi

2012-08-22 15:10:47 2747 1

原创 虚析构函数(√)、纯虚析构函数(√)、虚构造函数(X)

一. 虚析构函数我们知道,为了能够正确的调用对象的析构函数,一般要求具有层次结构的顶级类定义其析构函数为虚函数。因为在delete一个抽象类指针时候,必须要通过虚函数找到真正的析构函数。如:class Base{public:   Base(){}   virtual ~Base(){}};class Derived: public Base{

2012-08-22 14:52:21 1418

原创 监听器模式

监听者对大家来说可能并不陌生,所谓监听者就是用来监听自已感兴趣的事件的,当收到自已感兴趣的事件时会做出相应的反映。    它的应用是非常广的,比如win32的消息机制,它跟监听者模式就异曲同工,操作系统将产生的各种事件包装成消息(MSG),该消息结构包装了发生的事件 的描述信息,比如消息值,屏幕坐标等,然后将它投递到相应的进程中,当该进程收到该消息时会查看该MSG结构中的信息,也就知道了发生了

2012-08-22 11:22:59 1151

原创 23模式之外的模式——规格模式Specification Pattern

规格模式是组合模式的一种扩展,在框架性开发中使用较多(项目级开发很少使用),这里做一个简单的介绍。      这里假设了一个这样一个场景,有一堆的User对象,UserProvider提供查询服务。们来看组合规格书(CompositeSpecification),它是一个抽象类,实现了与或非的操作,如下所示。public abstract class Com

2012-08-21 17:21:05 4877

原创 策略模式VS桥模式

这对冤家终于碰头了,策略模式与桥模式是如此相似,简直就是孪生兄弟,要把它们两个分开需要花费大量智力,我们来看看两者的通用类图,如下所示。  什么?你没有看出两者之间很相似?如果把策略模式的Context变更为一个抽象类加一个实现类,或者桥模式的抽象角色未实现,只有抽象角色,想想看,这两个类图有什么地方不一样?一样,完全一样! 正是由于类似场景存在才导致了两者在实际应用中经常混淆的情

2012-08-21 16:26:26 1633

原创 char 与 unsigned char的本质区别

在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情

2012-08-21 16:09:53 1428

原创 objC编程规范

写objC程序有一段时间了,接触的头几天便到处找编程规范,至今除了google和apple的规范外,其它的也零星见过一些.老实说,google和apple的规范均不怎么样,很多场景都没有解决方案,并且两者也有冲突的地方.我综合这些规范,修改和补充如下,后续不断增加:1.interface用I前缀,protocal用P前缀,确实是delegate则用delegate作后缀.2.protoco

2012-08-15 10:06:53 1537

原创 ARC中管理Toll-free Bridging

ARC对象和非ARC对象对于初学者,首先需要分清楚两种不同种类的对象:Objective-C 对象,它继承自NSObject的所有对象。在ARC中,我们可以理解为ARC对象。Core Foundation 对象,它是由C的struct定义的各种对象,主要来自于CoreFoundation框架(如CFArray或者CFMutableDictionaryRef类型),或者其它采用CoreFounda

2012-08-14 23:49:19 1682

原创 Objective-C的self和super详解

在 Objective-C 中的类实现中经常看到这两个关键字 ”self” 和 ”super”,以以前 oop 语言的经验,拿 c++ 为例,self 相当于 this,super 相当于调用父类的方法,这么看起来是很容易理解的。以下面的代码为例:[cpp] view plaincopy@interface Person:NSObject {

2012-08-14 11:08:36 1729

原创 ARC Support Without Branching

When Apple announced support for ARC (Automatic Reference Counting), iOS developers jumped for joy at the prospect of no longer having to litter codebases with manual memory management code anymore. F

2012-08-13 18:02:16 1134

原创 GDB十分钟教程

本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。 命令 解释 示例file 加载被调试的

2012-08-07 00:13:00 1165

原创 详谈高性能TCP服务器开发

对于开发一款高性能服务器程序,广大服务器开发人员在一直为之奋斗和努力.其中一个影响服务器的重要瓶颈就是服务器的网络处理模块.如果一款服务器程序不能及时的处理用户的数据.则服务器的上层业务逻辑再高效也是徒劳.所以一个服务器程序的网络处理能力直接影响到整个服务器的性能, 本文主要介绍在windows平台下开发高性能的网络处理模块以及自己在设计开发服务器网络模块遇到的一些问题和开发心得.本篇

2012-08-07 00:04:52 2213

原创 架构设计:生产者/消费者模式

概述今天打算来介绍一下“生产者/消费者模式”,这玩意儿在很多开发领域都能派上用场。由于该模式很重要,打算分几个帖子来介绍。今天这个帖子先来扫盲一把。如果你对这个模式已经比较了解,请跳过本扫盲帖,直接看下一个帖子(关于该模式的具体应用)。看到这里,可能有同学心中犯嘀咕了:在四人帮(GOF)的23种模式里面似乎没听说过这种嘛!其实GOF那经典的23种模式主要是基于OO的(从书名《Des

2012-08-06 23:46:46 1952

原创 集群式游戏服务器架构方案设计开发

自从2003年开发VOIP Radius Server以及修改Gnugk以来,从事服务器开发已经近五年了,对服务器开发也有一些自己独到的看法以及见解。当摆脱了技术本身的束缚之后,才理解重要的并不是某种技术的运用,而是整体设计的考虑,也慢慢明白了设计是开发的灵魂的道理。从技术层面来看,各个平台都有一些自己特有的东西,比如Windows 平台下面的IOCP技术,可以说为了支持大的并发,IOCP

2012-08-06 23:44:38 1954

原创 Proactor和Reactor模式

Proactor和Reactor都是并发编程中的设计模式。他们都是用于派发/分离IO操作事件的。所谓的IO事件也就是诸如read/write的IO操作。"派发/分离"就是将单独的IO事件通知到上层模块。两个模式不同的地方在于,Proactor用于异步IO,而Reactor用于同步IO。    Two patterns that involve event demultiplexors ar

2012-08-06 23:36:15 1421

原创 在VS2005制作Wizard过程

1)先建立自己的项目,可以用以前做好的项目框架都可以,这里包含自己框架的.cpp,.h和资源文件等等。2)用VS2005的Custom wizard来生成一个项目,这里取得名字就是以后会出现在wizard菜单中的名字了。3)Custom wizard项目生成之后,他的.vsdir,.ico,.vsz文件会自动拷贝到VC的安装目录\vcprojects下面,其中vsz是wizards的入口点

2012-08-05 18:48:17 2112

原创 cocos2d-x下载及环境搭建

step1:首先到coco2d-x的中文官方网站http://cn.cocos2d-x.org/下载最新的cocos2d-x引擎Step2:解压后生成一个文件夹cocos2d-x,打开解压包,点击”build-win32.bat”来编译整个项目,之后点击”install-msvc.bat”来安装wizard。 Step3:之后打开cocos2d-x文件夹下c

2012-08-05 17:29:35 1453

原创 gl glu glut函数简介

OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库,gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库,gl中包含了最基本的3D函数,而glu似乎对gl的辅助,如果算数好,不用glu的情况下,也是可以做出同样的效果。glut是基本的窗口界面,是独立于gl和glu的,如果不喜欢用glut可以用MFC和Win32窗口等代替,但是glut是跨平台的,这就

2012-08-05 13:01:31 3573

原创 bada开发:OpenGL ES 2.0程序 创建简单3D图形

我们期待消费者积极关注bada这个全新的移动游戏平台,因为强大的图形API可以实现2D和3D图形。从3D图形API中获益的程序包括游戏,地图可视化,用户界面,动漫,屏保等。为了满足广大需求,bada API包括OpenGL® ES,用于高级嵌入式图形,具有明确定义的OpenGL的subset profile的规格,支持高级和低级图形功能。如何使用bada基于OpenGL ES 2.0创建简

2012-08-05 12:01:03 2160

原创 OpenGL ES与OpenGL 的区别

OpenGL ES 概述本文对 OpenGL ES 做了综合性的介绍,包括 OpenGL ES 的由来、主要版本及其特点、OpenGL ES 与 OpenGL 的主要区别等等。 简介2OpenGL_ES是khronos协会从OpenGL裁剪定制而来的,专为手机,游戏机等嵌入式设备而设计。它的接口其实和 Open GL很类似。OpenGL_ES有几

2012-08-04 22:14:38 10118

网络游戏客户端编程 随书code 全

vs2008编译, 方便下载, 是学习网络游戏编程的好的代码

2012-01-07

C++ BOOST 库中文指南

官方文档中文翻译版,亲手制作,绝对珍藏。

2010-12-22

\超级好的ogre的教程

Pro OGRE 3D Programming 中文翻译版本0.2.0

2009-11-12

数据结构实验课的全部源程序

全部程序都有顺序和链式存储两种,有线性表操作,栈队列的应用,稀疏矩阵的存储和转置,二叉树的实现和运算,线索二叉树的实现和运算,哈夫曼树的实现和运算,图的实现和运算,最小生成树,最短路径,拓扑排序,各种查找算法,各种排序算法,哈希表查找的实现和运算,下吧,疯狂的下吧,太好的资源了

2009-08-31

effective c++

c++经典著作effective c++,描述了c++在实际运用中应该遵循的一般性准则50条。

2009-08-27

清华大学c语言PPT

最全的JDK1.5帮助文档,支持类和方法的搜索。

2009-07-24

空空如也

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

TA关注的人

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