摘要: 重载操作符是个好青年,但是要吐槽的是,我们时常为了重载操作符编写许多重复的代码。这是枯燥的,但是也是必须的。你重载的越多,你的类的弹性就越大。但是,你也不能为所欲为。玩游戏总是遵守相应的规则,写重载操作符亦是如此! 以下是要遵守的游戏规则: 一元操作符可以是不带参数的成员函数或带一个参数的非成员函数。 二元操作符可以是带一个参数的成员函数或带两个参数的非成员函数。... 阅读全文
posted @ 2012-03-15 17:13 云端小飞象cg 阅读(4000) 评论(4) 推荐(6) 编辑
摘要: ㈠ 关于Direct2D Direct2D是一个硬件加速的,提供立即模式的二维图形API。它提供了二维的几何体,位图,文本的高性能,高质量的渲染。十分方便的是,Direct2D与GDI,GDI+和D3D都是可以交互的。一项技术总是有其受众面,看看微软本身怎么说的: 大型企业级本机应用程序开发人员。 创建供下游开发人员使用的控件工具包和库的开发人员。 需要对二维图形... 阅读全文
posted @ 2012-03-14 20:45 云端小飞象cg 阅读(9029) 评论(3) 推荐(5) 编辑
摘要: 使用C/C++的苦逼娃们经常深陷内存越界错误,资源泄漏错误等等问题,而且这样的惨剧每时每刻都在这个世界上重复的发生着。其实,我也是苦逼娃!也为了个神马越界的东西debug了整个下午过,为此也想砸电脑过。最后想想,其实不是C/C++苦逼,是我们的不小心而造成如此的苦逼。罪过,罪过。。。 在C语言库中,提供了这么两个函数,malloc和free,分别用于执行动态内存分配和释放。两个函... 阅读全文
posted @ 2012-03-10 17:37 云端小飞象cg 阅读(2465) 评论(5) 推荐(6) 编辑
摘要: 不知不觉,指针解析来到了第三篇。本篇想讲的内容是有点高级,也有晦涩。说到高级和晦涩,有些人就不同意了。不就些基础内容嘛,何必用高级一次呢?我想我是假借高级一词,重点在“有点”。我倒不能说有点猥琐,有点恶心吧。 我们都知道,程序中的每个函数都位于内存的某个位置上,所以就存在指向那个位置上的指针。知道了这个道理之后呢,我们来看看以下这些声明是怎么一回事?int f; // 整型变量,这个鬼都知道int *f; // 一个指向整型的指针,这个鬼也知道int f(); // 返回类型为整型的函数int *f(); // 返回类型为一个指向整型指针的函数// 以上都很平... 阅读全文
posted @ 2012-03-03 03:56 云端小飞象cg 阅读(1492) 评论(8) 推荐(4) 编辑
摘要: 我们在看一些开源的源代码的时候,经常会看到如下情景:# if defined(_PTHREADS) && !defined(_NOTHREADS)# define __STL_PTHREADS# endif# if defined(_UITHREADS) && !defined(_PTHREADS) && !defined(_NOTHREADS)# define __STL_UITHREADS# endif# if defined(__sgi) && !defined(__GNUC__)# include <standard 阅读全文
posted @ 2012-03-02 20:26 云端小飞象cg 阅读(8691) 评论(6) 推荐(5) 编辑
摘要: 内容接上一篇,以下是答案: 1. &ch 代表什么? 答:变量ch的地址 2. pch 代表什么? 答:pch是char类型指针,指向ch。 3. &pch 代表什么? 答:指针变量的地址 4. *pch 代表什么? 答:对指针变量pch进行解引用,间接访问了ch的值。 5. *pch + 1 代表什么? 答:间接访问操作,取得的拷贝值加一,(*pch + 1)为‘b’。 6. *(pch + 1)代表什么? 答:访问到了ch之后的下一个地址上的内容。 7. ++pch 代表什么? 答:假设当为右值,那么应该是先递增,后传地址。 8. *++pch 代表什么? 答:假设当为右值 阅读全文
posted @ 2012-02-27 13:29 云端小飞象cg 阅读(1535) 评论(11) 推荐(6) 编辑
摘要: 指针这个话题好沉重,思量了好久,不知道如何下笔?下笔的时候手好抖啊,各位大牛看到我这只小菜鸟写的东东可能会笑掉大牙,但是,不管了!我要写下来!!!这东东确实太重要了,无数人对其折腰,无数的bugs隐匿于此。对它是又爱,又痴,又疼,又牙痒痒。有些看官以为我会写“又恨”,说实话,我和指针无仇,我敬佩它,崇拜它。它要是女生,我立马娶它。 我想指针的话题应该可以分成以下几个部分: ... 阅读全文
posted @ 2012-02-26 02:06 云端小飞象cg 阅读(2233) 评论(16) 推荐(5) 编辑
摘要: (一)基本概念 结构体是一个或是多个变量的集合,这些变量可能为不同的类型,为了处理的方便而将这些变量组合在一个名字之下。我们将关键字struct引入了结构声明中。结构声明包含在花括号内的一系列声明组成。例如: // 以下是一个巨普通的结构体,表示坐标。 // point 为结构标记;x, y为成员。 struct point { int ... 阅读全文
posted @ 2012-02-22 23:32 云端小飞象cg 阅读(4128) 评论(5) 推荐(5) 编辑
摘要: (一)基本概念 void 类型:空类型,用于特殊目的的没有操作,也没有值的类型。不能被显式或隐式的转换为任意非空类型,可以通过强制类型转换为void类型。 void指针:指向任何对象的指针都可以转换为void*类型指针,且不会丢失信息。在ANSI C使用类型void*代替char*作为通用指针的类型。 (二)使用方法 1. void的使用 第一种是:对函数返回的限定 ... 阅读全文
posted @ 2012-02-22 14:55 云端小飞象cg 阅读(7259) 评论(6) 推荐(1) 编辑
摘要: (一)小数点输出精度 有时,为了输出一个满意的小数点,经常搞的手忙脚乱的。这个东西十分的基础,但是又不是经常用到,所以有时要使用的时候都会要查阅一番。 首先添加#include<iomanip>,然后再完成以下的操作。1、输出n个有效数字double a = 3.1415926, b = 22.3334453;cout.precision(6); //说明要输出6个有效数字,不包含小数点cout << a << endl << b;2、输出n个小数点之后的数字 现在,我想要输出 3.1415926 和 22.3334453的数字,不管小数点前面有 阅读全文
posted @ 2012-02-08 10:23 云端小飞象cg 阅读(2000) 评论(1) 推荐(1) 编辑