目标 1. 清除窗口 2.强制完成所有尚未执行的绘图操作 3.在2d或3d空间绘制图元
4.打开、关闭、查询状态 5.控制图元显示 6.在实心物体表面适当位置指定法线向量 7.用顶点数组和缓冲区对象存储和访问几何数据。
8.同时保存和恢复几个状态变量。1.1 3种基本操作:清除窗口、绘...
分类:
其他好文 时间:
2014-04-29 19:50:32
阅读次数:
543
类型是C++编程的基础,类型规定了对象的存储要求以及所能执行的操作,C++提供了一套基础内置类型,类型分为常量以及非常量,一个常量对象必须初始化,一旦初始化就不能再改变。此外可以重复定义复合变量。复合类型以其他的类型为基础。编写自己的头文件:类一般不定义在函数体内,在函数体外部使用类的时候,在各个指...
分类:
其他好文 时间:
2014-04-29 19:35:12
阅读次数:
573
在串匹配模式中,KMP算法较蛮力法是高效的算法,我觉得其中最重要的一点就是求next数组:看了很多资料才弄明白求next数组是怎么求的,我发现我的忘性真的比记性大很多,每次看到KMP算法求next数组都得花很长时间去看怎么求,虽然看了很多遍了,但还是容易忘,所以我今天非得把它记下来,这样我下次看到的...
分类:
其他好文 时间:
2014-04-29 19:26:58
阅读次数:
429
// Listing 8.9 - Demonstrates a stray pointer
typedef unsigned short int USHORT;#include int main(){ USHORT * pInt = new
USHORT; // 声明第一个指针,分配了一块...
分类:
其他好文 时间:
2014-04-29 18:46:01
阅读次数:
470
在单线程并发服务器中,select/poll/epoll可以高效的处理多个连接的数据,下面具体分析三者的区别。1.
select函数函数原型:int select( int nfds, //fdset集合中最大描述符值加1 fd_set *readfds,
//读事件文件描述符数组 ...
分类:
其他好文 时间:
2014-04-29 18:43:54
阅读次数:
449
最近在看读《STL源码剖析》,看到Traits编程技法这节时,不禁感慨STL源码作者的创新能力。那么什么是Traits编程技法呢?且听我娓娓道来:
我们知道容器的许多操作都是通过迭代器展开的。其中容器类似于数组,迭代器类似于指针。我们用数组来写个例子:1 int arr[5] = {1,2,3...
分类:
其他好文 时间:
2014-04-29 18:15:15
阅读次数:
463
1、宏定义swap,加括号有什么意义 #define swap(x,y) x =
(x)+(y);y=(x)-(y);x=(x)-(y)
加括号是为了处理表达式参数(即宏的参数可能是个算法表达式)时不出错,因为宏替换就是文本替换,所以如果有以下情况: #define COM(A,B)
(A)*(B)...
分类:
其他好文 时间:
2014-04-29 17:47:29
阅读次数:
585
构造函数不能是虚函数。但有时候确实需要能传递一个指向基类对象的指针,并且有已创建的派生类对象的拷贝。通常在类内部创建一个Clone()方法,并设置为虚函数。//Listing
12.11 Virtual copy constructor#include using namespace std;cla...
分类:
编程语言 时间:
2014-04-29 17:26:52
阅读次数:
522
聚合数据类型能够同时存储超过一个的单独数据。
c语言提供了数组和结构体。1.1234567891011121314#include #include void main(){struct {int
a;}x,*b;int c[2]={1,2};x.a=1;b=c;printf("%d \n",b[1...
分类:
其他好文 时间:
2014-04-29 17:05:12
阅读次数:
395
不完整声明1234567891011121314151617181920212223242526/*
方法一 */struct tag_a{struct tag_b *bp; /* 这里struct tag_b 还没有定义,但编译器可以接受 */int
value;};struct tag_b{st...
分类:
其他好文 时间:
2014-04-29 16:54:53
阅读次数:
366