内容列表
- 从一个ConnectionPool的实现看design pattern的运用 (续六)
-
这种ResourcesCollector的方法也有一点美中不足的地方,那就是,我们把我们在ResourceManImpl中使用java.util.Collection的实现细节暴露给了ResourcesCollection。如果一个ResourceMan的实现者不想用Collection,那就不太容易了。
你可以说,反正Collection是个interface, 我们可以让那个
- 分类:VC语言 查阅全文
- DirectX 图形接口指南(7)
-
指南六:使用Mesh模型
复杂的几何形状常常使用 3-D 建模软件构造模型并保存为文件。一个例子就是 .x 文件格式。Microsoft Direct3D 使用Mesh对象从文件装载这些物体。Mesh对象稍微有点复杂,但是 Microsoft Direct3DX 包含的函数使应用Mesh对象变的简单。Meshed 例程介绍关于Mesh的话题并展示如何装载,演示,以及卸载一个M
- 分类:VC语言 查阅全文
- Guru of the Week 条款28:“Fast Pimpl”技术
- GotW #28“Fast Pimpl”技术(The "Fast Pimpl" Idiom)
难度:6 / 10
采用一些称为“低依赖度”或“效能”方面的捷径,在很多时候颇有诱惑力,但它不总是好主意。这儿有个很精彩的方法能在客观上同时并安全的实现二者。
问题
标准的malloc()和new()调用的开销都是很大的。在下面的代码中,程序员最初在class Y中设计了一个类型X的成员:
- 分类:VC语言 查阅全文
- Guru of the Week 条款27:转呼叫函数
- GotW#27 转呼叫函数(Forwarding Functions)
难度:3 / 10
怎样将转呼叫函数写得最好?原本答案很简单,但我们已经知道C++语言近来发生了微妙的变化。
问题
转呼叫函数对于将任务传递给其它函数或对象时很有用,尤其当它们被设计得很高效时。
评论一下下面这个转呼叫函数。你试图修改它吗?如果是的话,怎么来?
// fi
- 分类:VC语言 查阅全文
- 写程序是一种态度(二)四倍速memmove
- 最近在网上发现一个有趣的现象,一些公司的技术面试总是光顾一些常用的ANSI C函数,我去年也有幸碰到了实现一个简单scanf的命题。这类题,表面上看实际上都不难,但是想把它考虑全面,写的精炼且高效却很难,没有一定内功的人是达不到这个水准的,这也是频频被用来做测试人才尺子的原因。
其实很早就知道有些高手为了练内功在读C run-time代码,于是也深入了一段时间,同时我将视野放的更
- 分类:VC语言 查阅全文
- 封装了P2P连接与数据传送过程的DLL正式版-PPQ.DLL v1.0(三)
- 十四 PTask类中的函数说明
* 函数名称:* EndThread()** 参数:* BYTE bySuffix -对线程组中的哪一个线程进行操作的标识。 &
- 分类:VC语言 查阅全文
- 封装了P2P连接与数据传送过程的DLL正式版-PPQ.DLL v1.0(二)
- 十 PPQ.DLL的消息
** 对除特别声明外的所有消息都适应的规范** 当接收到一个以PTask对象的指针作为lParam参数的消息时,你可以决定是否要继续使用该对象。** 如果想继续使用该对象,则先调用InitVa
- 分类:VC语言 查阅全文
- DirectX 图形接口指南(1)
-
译者申明:
这些指南是我在阅读 DirectX8.1 SDK 中逐步翻译出来的。对于初次接触 DirectX Graphics 的编程者而言,这应该是很好的上手资料。其实,本人就是从这些指南开始深入 Direct3D8.1 的;由于这是本人第一次翻译英文材料,言语不通,词不达意之处一定很多,一些术语也译得很勉强,请见谅。
&nb
- 分类:VC语言 查阅全文
- 写程序是一种态度(一)strcmp
- 写程序正如做人,是一种态度。在写一个商业级的程序,从写代码的层次来说是否遵守默认的代码风格(code convention)?是否遵循简单、易读和效率?是否防范了预期的错误?是否检查了内存泄漏?是否考虑会有多线程重入?等等。从设计的层次来说是否引入了软件工程的思想?是否采用了OO的模式分析?是否使用UML来主导了整个流程?是否考虑单元测试和集成测试的QA同步?是否定期生成稳定版本?等等。
&nb
- 分类:VC语言 查阅全文
- DirectX 图形接口指南(6)
-
指南五:使用纹理映射
尽管光照和材质大大增加了场景的真实感,但没有比在表面上添加纹理更能增加真实感的了。纹理能够被想象为一层紧紧包装在表面的贴纸。你能在一个立方体上放置一层木质纹理使它看起来就象用木头制成的一样。本 Texture 例程将在 指南四:创建和使用光照 中构造的圆柱上添加一幅类似香蕉的纹理。此指南介绍的内容包括如何载入纹理,设置纹理,与呈递带有纹理的物体。
&n
- 分类:VC语言 查阅全文
- DirectX 图形接口指南(5)
-
指南四:创建和使用光源
Microsoft Direc3D 光照系统给 3-D 物体提供更多的真实性。当使用它时,每个场景中的几何对象将被照亮,基于它们的位置和使用的光源类型。这个指南的例程将介绍关于光照和材质的主题。
本指南包含以下步骤用于创建材质与光照:
·第一步:创始化场景几何
·第二步:设置材置与光照
注意:Lights 示例程
- 分类:VC语言 查阅全文
- DirectX 图形接口指南(4)
-
指南三:使用矩阵
本指南介绍矩阵的概念及演示如何使用它们。Vertices 例程通过呈递2D的顶点画出了一个三角形。然而,在这个指南中,你将通过顶点变换在 3-D 环境下工作。矩阵和变换也同样用于设置摄影头与视口(Viewport)。
在 Matrices 例程呈递几何物体之前,它调用程序自定义函数 SetupMatrices 创建并设置用于演示 3-D 三
- 分类:VC语言 查阅全文
- DirectX 图形接口指南(3)
-
指南二:演示顶点(Render Vertex)
Microsoft Direct3D 写的应用程序使用顶点(Vertex)构造几何物体。每一个三维空间 (3D) 场景包括一个或几个这样的几何物体。Vertices 例程构造简单的物体,一个三角形,并且将它绘制到显示屏上。
本指南说明如何采用以下步骤从顶点构造一个三角形:
·第一步:定义一个自
- 分类:VC语言 查阅全文
- DirectX 图形接口指南(2)
-
指南一:创建设备
为了使用 Microsoft Direct3D,你首先需要创建一个应用程序窗口,并紧接着创建和初始化 Direct3D 对象。你应该使用这些对象提供的 COM 接口来操纵它们,以及创建描绘一个场景所必需的其它对象。本指南包含的 CreateDevice 示例将例示并说明以下几个工作:创建 Direct3D 设备并且绘制一个简单的蓝色屏幕。
这个指南使用以下步骤:初始化 D
- 分类:VC语言 查阅全文
- 封装了P2P连接与数据传送过程的DLL正式版-PPQ.DLL v1.0(一)
- 一 正式版中的改进功能:
1 通过钩子函数的设定,为使用其他开发者自定义类提供了完整的解决方案。 2 去掉了对象版本号和对象标识的设定,增加了一个类的ClassID,作为唯一区分一个类的标识。 3 消除了原先进行TCP下载时的
- 分类:VC语言 查阅全文
- STL Container和ATL智能包裹类的冲突
- STL Container和ATL智能包裹类的冲突
Article last modified on 2002-8-7
----------------------------------------------------------------
The information in this article applies to:
- &n
- 分类:VC语言 查阅全文
- VC++ 6.0 结构定义大陷阱
- VC++ 6.0 结构定义大陷阱!!!
本人写一个程序,定义一个参数类型typedef struct tagDef_Param{ char Name[64]; bool Need; bool NeedBuf; int Type;}DEF_PARAM, *PRT_DEF_PARAM;
为了方便,所用的参数内
- 分类:VC语言 查阅全文
- 数组的智能初始化
- 数组的智能初始化 不少人使用的数组初始化方法是这样的:int a[100]; for (int i = 0; i < sizeof(a); i++) a[i] = 0;
一个for循环的初始化方法效率显然不够高,代码也不够漂亮。其实 C++ Standard Library早已为我们提供了一个又与初始化的强力工具 memset。
- 分类:VC语言 查阅全文
- 身份证15位升18位的算法
- 现在新的身份证已经从15位升到了18位了,很多软件都可能用到身份证的输入、校验的工作,关于新身份证的编码似乎文章很少,我在2000年的时候找到了计算机世界的一篇文章,发现现在的身份证校验码居然可能是英文字母x(其实这个X是罗马字母,表示10的意思),为什么用字母呢?谁知道? 起码电话上数字键就输不进去新的号码。(现在的办法是使用*替代,好在还有#*2个键,我也做过CTI的,呵呵),然后我写了个
- 分类:VC语言 查阅全文
- 一个简单的移植性的问题
- 第一次发表文章,本人水平极其一般,所以这里写的可能没有多大价值,希望不会浪费各位的时间,如果是的话,我表示歉意。
看下面这段码:
//求字符串长度
- 分类:VC语言 查阅全文