编程技巧干货
干嚼狗尾草
这个作者很懒,什么都没留下…
展开
-
编程技巧干货笔记 开篇
博主大一的时候学完 C 语言自恃"熟练掌握",傲世天下英勇豪杰直到后来一次又一次地被虐甚至被秒杀之后才知道原来 学 无 止 境 这四个字真的不只是说说看...然而不管是学什么东西,总有一些技巧性的东西,十分宝贵和难得这些东西除了前辈的指点和自己的经验之外,还有一些是无意之间听来的虽然技巧不能主要决定质量的好坏,却也不乏是点睛之笔 一份优雅的代码里,总是有一些原创 2017-08-28 14:56:00 · 292 阅读 · 0 评论 -
编程技巧干货笔记 【关于一些运算符的效率】
下面有两行实现同样功能的代码 str = str + 'i'; str += 'i';它们都只是在字符串的末尾添加了一个 'i'但是就效率而言, 是优于 的其效率相差在于返回值前者需要将加法运算的结果构造一个新的字符串返回再赋值给 str ,而且 ‘+=’ 运算的返回值是 str 的引用后者直接在当前字符串上修改然后返回原创 2017-08-28 15:43:52 · 367 阅读 · 0 评论 -
编程技巧干货笔记 【数组范围界定】
我们通常会遇到需要使用一个下标访问数组某个元素的情况它可能会像这样 : public Data getDataByIndex(int index);而内部实现可能是很简单的这样: Data getDataByIndex(int index){ if(index >= 0 && index < lenOfList) return list[index];原创 2017-08-29 10:08:50 · 920 阅读 · 0 评论 -
编程技巧干货笔记 【Copy-On-Write】
"Copy-On-Write" 从字面上理解就是 "写入时复制",博主对它的翻译是:"写入时才复制"它本身是一个技术,在 Linux、STL 等都有应用//////////////////// 例子 buff 开始 /////////////////////一只老鼠在看一本笑话书,这时候狗来了也想看( 狗不需要再买一本,只要两个人一起看就好了啊 )但是这是老鼠突原创 2017-08-29 10:46:13 · 342 阅读 · 0 评论 -
编程技巧干货笔记 【快速伪随机数生成】
游戏中自己实现一个伪随机数生成器在调试的时候会很方便下面这个伪随机数生成方法是在"雷神之锤"的源码中看到的,记录下来,方便以后使用首先有一个随机数种子,相同的种子将产生出相同的伪随机数列int seed = 1; // 随机数种子void q_srand(int s){ seed = s;}快速生成一个整型伪随机数,里面比较神奇的数字就原创 2017-08-30 09:41:22 · 620 阅读 · 0 评论 -
编程技巧干货笔记 【关于内联函数】
虽然博主使用内联函数也已经有不短的一段时间但是有些东西仍然是第一次知道,所以记录下来喽...【内联函数的一些优点】1.内联函数可以消除宏的很多缺陷也更易于使用2.同时它同样消除了函数调用的开销而获得比普通函数更高的效率3.内联函数可以使编译器对代码进行进一步的优化4.宏不存在指定类型的参数从而可以对多种类型使用,使用内联函数模板可以达到相同的效果且类型安全原创 2017-09-11 09:29:25 · 377 阅读 · 0 评论 -
编程技巧干货笔记 【Vector / Set OR Map ?】
数据结构的选择取决于存储的数据类型、数据的数量、实现的操作、操作的频繁程度等等因素【使用Set】当需要存储一串对象时通常希望对象在表中只出现一次那么可以直接使用集合 Set , 不插入相同的元素, 且插入、删除以及查询操作时间均为 O(logn)貌似是最佳选择?但是却不一定的大部分集合的实现是使用红黑树因此每次插入一个元素都要申请一块内存,删除一个元素的时候都会释放原创 2017-09-11 10:24:55 · 325 阅读 · 0 评论 -
【优化技巧】 SIMD - Single Instruction Multiple Data
SIMD - Single Instruction Multiple Data 现代微处理器中使用一条指令进行多个数据运算的技术对于矢量运算和矩阵运算可以迅速地执行被广泛运用于游戏引擎的数学库中对于矢量和矩阵的运算(比如使用矩阵对矢量进行变换)将四个浮点数打包进入128bit的寄存器于是对于加法和乘法,可以使用一条指令对四个浮点数同时进行运算四个浮点数可原创 2017-12-19 15:32:04 · 2175 阅读 · 0 评论