摘要:
原文链接:http://blog.csdn.net/qshpeng/archive/2007/11/10/1877000.aspx在程序设计过程中,可能碰到需要对字符串型数学表达式进行求值,通用且完美的方法是将字符串表达解析,生成表达树,然后进行计算。编译器就是使用这种方法来解析程序中的表达式的。这种方法实现起来有点难度,需要考虑运算符的优先级,括号的配对,堆栈的使用等等。我们正常情况下看到的数学表达式如果用二叉树遍历的话,恰好是中序遍历,故叫做中序表达式。除此之外,还有前序表达式,后序表达式。如:a+b+c(中序),++abc(前序),ab+c+(后序),如果表达式含有×,/,() 阅读全文
摘要:
摘自:http://msdn.microsoft.com/zh-cn/library/ms173152.aspx多态性(C# 编程指南)更新: 2008 年 7 月多态性常被视为自封装和继承之后,面向对象的编程的第三个支柱。Polymorphism(多态性)是一个希腊词,指“多种形态”,多态性具有两个截然不同的方面:在运行时,在方法参数和集合或数组等位置,派生类的对象可以作为基类的对象处理。发生此情况时,该对象的声明类型不再与运行时类型相同。基类可以定义并实现虚方法,派生类可以重写这些方法,即派生类提供自己的定义和实现。在运行时,客户端代码调用该方法,CLR 查找对象的运行时类型,并调用虚方法 阅读全文
摘要:
原文链接:http://www.cnblogs.com/ixnehc/archive/2008/09/02/1282350.htmlD3D9的Device就是D3D给我们提供的一个绘制3D图形的工具,它的绘制流程大致是这样的:*.首先Device的使用者要准备好顶点数据,也就是一个顶点的数组,称为A*.然后这个数组A被传入device的渲染管线*.device内部依次对每个顶点进行处理,有两种模式,固定管线和shader模式,所谓固定管线就是device内部实现的一个固定的程 序,用户只能通过设定各种参数(一些RenderState)来控制它,当然这不够灵活,所以有了shader模式,也就是说 阅读全文