学习c++和DirectX的几点心得

来源:互联网 发布:软件产品代理协议 编辑:程序博客网 时间:2024/05/18 00:54

学习c++和DirectX的几点心得
1、如果在一个程序中声明了如下的类:
class Class1
{
public:
 Class1(){}
 ~Class1(){}
private:
 const char m_str[100];
};
则会出现如下的错误:error C2439: “Class1::m_str”: 未能初始化成员
 因为m_str是常数组指针,如果没有初始化的话,在运行期间的内容将是不确定并且不可更改。这是我们不愿意看到的,解决办法是将m_str前的const去掉,就能达到目的。

2、ifstream在调用get()函数或者使用>>运算符的时候,如果本该读出的是int型,但是读出的是字符型,那么ifstream内部就会返回一个错误,并保存在_Mystate成员中。这时通过_Mystate与goodbit相比较,如果不相等的话,这时ifstream内部就会报错,在任何情况下使用>>或者get()函数都不会读取成功,使用get()函数会返回-1。解决方法是使用ifstream::good()函数来判断,如果返回的是false,那么我们就要着手处理异常处理了。

 

学习DrawPrimitive()函数的心得 作者:蒋轶民
 我在学习DirectX的时候,在学习DrawPrimitive()的时候,虽然什么准备工作都完成了,但是还是无法显示三角形。后来我看了DirectX帮助文档,发现有这样一段文字:
……If culling is enabled, the order of the vertices will be important. This example assumes the default counter-clockwise culling state, so visible triangles must be drawn in clockwise order.……
 简单地说,如果裁剪被启用,那么就必须按照顺时针来进行渲染。要不然无法显示三角形。

原创粉丝点击