摘要: 学校的第一门专业课是C,局部变量只能在{}开始的地方定义,否则出错。这样有个好处,就是要寻找某个变量的定义式时非常方便,但是VS提供了F12,跳到定义处,这个好处就显得非常微弱了。只是这个习惯被我沿用到C++中,一直没有改过来,直到我开始意识到,这样的变量定义有时会降低程序的性能。 一个变量在函数的 阅读全文
posted @ 2015-10-18 16:04 followDreamLgx 阅读(504) 评论(2) 推荐(0) 编辑
摘要: 若所有的参数皆需要类型转换——请为此采用non member函数 经常使用C++的程序猿(希望更多的程序媛),一般不会同意让classes支持类型转换,至于为什么,请看后续的博客。假如我们设计一个表示有理数的class,允许”整数隐式转换为有理数似乎很合理“。首先来一个简单的实现。 有... 阅读全文
posted @ 2015-10-17 11:37 followDreamLgx 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 在前一篇 "文章" ,我们提到,使用private来代替public以提高class的封装性。这一篇文章,我们将对接口发起攻势。首先来个简单的例子。 在上面的例子中,我们定义了一个网页浏览器的类,可以清楚cache,历史记录,以及cookies。然后我们有时希望这三个步骤可以一次性执行,所以定义了c 阅读全文
posted @ 2015-10-16 22:24 followDreamLgx 阅读(1366) 评论(0) 推荐(0) 编辑
摘要: 刚开始接触OOP的时候,打心底里我不喜欢private与protected。我声明一个public然后不直接用它,不就跟private一样吗?在某些场合下,我还能偷偷地用一下public变量,这不是更方便吗?所以,以前写的class,除了class几个字母外,其它的跟struct没啥区别。做了几个小... 阅读全文
posted @ 2015-10-16 20:56 followDreamLgx 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 在上一篇博客中,我们介绍了简单地使用值传递带来的种种麻烦,相信有些朋友会一心一意将其斩草除根,但是当返回值也使用了引用的时候,麻烦就来了。 依然来个简答的例子 operator 的返回值是一个reference。记得那句话吗?“引用是另外一个变量的别名”,那么问题就来了,operator 返... 阅读全文
posted @ 2015-10-16 16:31 followDreamLgx 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 第一个原因。。。 C++默认使用变量的方式传递对象。假如没有另外指定,函数的参数都是以实参的副本为初值,而函数的返回值也是一个复件。这些复件由对象的copy构造函数产出,这会让值传递成为昂贵的操作。来一个简单的例子 简单地看,Student的复制构造函数在传入参数的时候会被调用,产生pla... 阅读全文
posted @ 2015-10-16 15:46 followDreamLgx 阅读(638) 评论(3) 推荐(1) 编辑
摘要: 一个简答易错的例子 一年后使用这个接口的时候,写了 Date d(15,10,2015) 或者 Date d(2015,10,15) ,准确的应该是 Date d(10,15,2015) ,欧,多么低级的错误,花了我一个早上的时间去调试这个bug。 解决的方法 为参数声明自定义类型 这样子声明... 阅读全文
posted @ 2015-10-16 00:58 followDreamLgx 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 最近学习Shader,在网上膜拜了几位大神后,搞了一个简单例程——三角函数的天下,效果如下,希望大家喜欢。 首先,当然是准备好我们的Shader与Material,不知道如何准备的可以在CSDN查看浅墨或者在新浪博客查看风宇冲的博客。Shader的代码如下 直接看我们的重点,FragmentShad 阅读全文
posted @ 2015-08-13 17:33 followDreamLgx 阅读(851) 评论(0) 推荐(0) 编辑
摘要: 最近学习CG,总是有点不懂的地方,回头想想,觉得应该是渲染流水线方面不是特别透彻的原因,所以,学习了《CG教程_可编程实时图形权威指南》以及《GPU编程与CG语言之阳春白雪下里巴人》中关于渲染流水线方面的知识,再参入一部分网上博客的内容。有所收获,所以来与大家分享。 本文的主线:渲染流水线的设... 阅读全文
posted @ 2015-07-17 22:23 followDreamLgx 阅读(2998) 评论(2) 推荐(1) 编辑
摘要: 原文链接:http://www.cnblogs.com/cg_ghost/archive/2011/11/30/2268734.html经过试验,在VS2012有效。1. 创建或编辑usertype.dat文件(此文件在VS安装目录下的Common7\IDE下面,比如我的就在D:\Program F... 阅读全文
posted @ 2015-06-08 20:57 followDreamLgx 阅读(355) 评论(0) 推荐(0) 编辑