摘要:
gotw#25 auto_ptr
难度:8/10
问题
考虑下面的代码:那些是好的,那些是安全的,那些是合法的, 那些是非法的?
auto_ptr<t> source() { return new t(1); }
void sink( auto_ptr<t> pt ) { }
void f() {
auto_ptr<t> a( source......
摘要:
指南二:演示顶点(render vertex)
microsoft direct3d 写的应用程序使用顶点(vertex)构造几何物体。每一个三维空间 (3d) 场景包括一个或几个这样的几何物体。vertices 例程构造简单的物体,一个三角形,并且将它绘制到显示屏上。
本指南说明如何采用以下步骤从顶点构造一个三角形:
·第一步:定义一个自定义顶点类型
·第二步:设......
写程序是一种态度(二)四倍速memmove
最近在网上发现一个有趣的现象,一些公司的技术面试总是光顾一些常用的ansi c函数,我去年也有幸碰到了实现一个简单scanf的命题.这类题,表面上看实际上都不难,但是想把它考虑全面,写的精炼且高效却很难,没有一定内功的人是达不到这个水准的,这也是频频被用来做测试人才尺子的原因.
其实很早就知道有些高手为了练内功在读c run-time代码,于是也深入了一段时间,同时我将视野放的更广一些,涉及到了更多的经典代码,对端正我的写程序态度起了很大的作用.趁这段时间辟谷,希望用这个系列把一些点滴记录下来,借着同广大网友交流的绝好时机,再重新审视一番我的思路. 【程序编程相关:
VC调试小技巧(菜鸟级)】
【推荐阅读:
面向对象基础讲座1】
先要感谢第一位给我的“写程序是一种态度(一)strcmp”回复的网友darkay,将我的视线移入了更有兴趣的话题.我提到ms run-time用c来实现函数如strcmp只是算法的表征,相对应的都有asm文件如strcmp.asm才是对其算法的具体的针对intel指令集的高效实现.如此可以做一个也许不恰当的类比,strcmp.c是一个伪码描述,而strcmp.asm才是具体实现;因为用某种c编译器编译后的strcmp.c很可能没有直接的strcmp.asm更高效,尽管算法的思路没有变化.借着这个话题我们在看一看经典的memcpy与memmove: 【扩展信息:
属性表及属性页问题集】
void * __cdecl memcpy (
void * dst,
const void * src,
size_t count
)
{
void * ret = dst;
/*
* copy from lower addresses to higher addresses
*/
while (count--) {...
下一页 摘要:
指南四:创建和使用光源
microsoft direc3d 光照系统给 3-d 物体提供更多的真实性。当使用它时,每个场景中的几何对象将被照亮,基于它们的位置和使用的光源类型。这个指南的例程将介绍关于光照和材质的主题。
本指南包含以下步骤用于创建材质与光照:
·第一步:创始化场景几何
·第二步:设置材置与光照
注意:lights 示例程序的路径为:
(sdk r......