首页
学习
活动
专区
工具
TVP
发布

tkokof 的技术,小趣及杂念

专栏作者
174
文章
139991
阅读量
22
订阅数
[译]Lua编程技巧
这个原则((YAGNI原则))和你计划在将来添加的程序特性有关,该原则是 “You aren’t gonna need it(你不会需要它的)” 的缩写.你不应该在需求明确之前添加新的程序功能或者程序特性,任何新的程序特性其实都会对程序的扩展性产生限制,所以一个不必要的程序特性很可能会影响到之后新增的一些必要的程序特性,并且当程序特性需求不明确时,我们也很难定义该程序特性实际的开发内容和测试方法.
用户2615200
2022-06-05
5650
Sweet Snippet 之 最短增广路径算法
本文简单实现了最短增广路径算法 首先我们简单实现 queue(队列) 数据结构 : local queue = {} queue.__index = queue function queue:push(val) table.insert(self.data, val) end function queue:pop() if #self.data > 0 then return table.remove(self.data, 1) end end fun
用户2615200
2022-05-13
2620
Sweet Snippet 之 四则运算求值
双栈算法可以实现四则运算的求值,但是扩展性比较低,更好的方式是基于语法分析来实现,整体大概包括以下几个步骤:
用户2615200
2022-05-11
3610
时钟
(前记:网上无意间翻到了这一系列文章,真心觉得不错,对于Unity初学者应该是非常有助益的(譬如我:)),顺手翻译了第一篇,也算是一次小小的整理和复习,虽然原文中的有些描述略显琐碎,但就总体而言也可谓细致入微,文后的“QA”也很不错,有兴趣的朋友可以仔细看看 :)PS 第一次做翻译,生硬不当之处甚多,见谅,如能不吝纠正指出,大好,拜谢先~ :))
用户2615200
2022-05-11
1.9K0
[译]C++中的内存同步模式(memory order)
原子变量同步是内存模型中最让人感到困惑的地方.原子(atomic)变量的主要作用就是同步多线程间的共享内存访问,一般来讲,某个线程会创建一些数据,然后给原子变量设置标志数值(译注:此处的原子变量类似于一个flag);其他线程则读取这个原子变量,当发现其数值变为了标志数值之后,之前线程中的共享数据就应该已经创建完成并且可以在当前线程中进行读取了.不同的内存同步模式标识了线程间数据共享机制的"强弱"程度,富有经验的程序员可以使用"较弱"的同步模式来提高程序的执行效率.
用户2615200
2022-01-12
1.1K0
[译]C++17,容器的持续改进与统一访问
C++11 中已经包含了8个关联容器,C++17 改进了这些容器的接口方法,现在你可以更加方便的向容器中插入元素,合并或者移动一个容器的元素至另一个"相似"容器中,并且新标准还统一了关联容器和顺序容器的访问方式.
用户2615200
2022-01-12
5840
[译]C++17,使用 string_view 来避免复制
当字符串数据的所有权已经确定(譬如由某个string对象持有),并且你只想访问(而不修改)他们时,使用 std::string_view 可以避免字符串数据的复制,从而提高程序效率,这(指程序效率)也是这篇文章的主要内容.
用户2615200
2022-01-12
9180
[译]C++17, 语言核心层变化的更多细节
在之前的文章中我介绍了一些C++17语言核心层的变化,这次我会介绍更多的相关细节,涉及的主题有:内联变量(inline variables),模板,auto相关的自动类型推导以及属性(attributes).
用户2615200
2022-01-12
6870
[译]C++17,标准库有哪些新变化?
C++17 有许多新的标准库变化,简单起见,这篇文章只介绍了以下内容:std::string_view,标准模板库中新添加的并行算法,新的文件系统库,以及3个新的数据类型:std::any, std::optional, 和 std::variant.让我们来了解一下其中的细节.
用户2615200
2022-01-12
1.1K0
Sweet Snippet 之 大整数乘法
当整数范围较大时,直接使用乘法运算符(*)很容易导致数值溢出,如果开发工作中确实需要处理这种大范围的整数,那么我们便需要实现一下大(范围)整数的乘法运算(一般方法便是将大整数表达为字符串,然后基于字符串来进行乘法运算).
用户2615200
2022-01-10
4340
Sweet Snippet 之 计算逆序数
所谓逆序数,是指一个排列中所有逆序对的总数,而所谓逆序对,则是指排列中前后位置和大小顺序相反的数对,举个简单的例子:
用户2615200
2021-12-24
3800
Sweet Snippet 之 PlayerPrefs for UE4
值得提到的一点是 PlayerPrefs 主动存储的实现方式,代码中除了释放 PlayerPrefs 时会做一次主动存储以外,另外还使用了一个脏标记(mPlayerPrefsDirty)来定时的检查是否要进行主动存储
用户2615200
2021-09-10
5600
MiniGame 之 扫雷实现
样例中的扫雷实现主要是两个类型(BombGame 和 BombGrid),下面是完整代码:
用户2615200
2021-09-10
4020
代码宏的一点小知识
C/C++ 中我们可以定义宏来做一些代码的简化工作,一般我们不推荐使用宏,因为使用过程中很容易出现问题,目前有一些方法可以用来取代宏的部分功能(譬如内联函数),但是仍然有些宏功能现在还没有更可靠方便的替代方法,遇到这些使用情境的话,我们还是需要使用宏.
用户2615200
2021-09-10
2950
编程小知识 之 range search
所谓 range search,是指给定一些数值范围(range)和某一数值,我们来搜索该数值所属的数值范围,譬如我们给定以下的数值范围:
用户2615200
2021-09-10
3890
Sweet Snippet 之 Lua Utils
this is a simple lua util functions collection for easy usage and intergration
用户2615200
2021-03-02
4740
[译]寻路优化
寻路对很多游戏来讲都是不可或缺的元素,在一般的游戏中,使用一些基本的寻路算法(譬如 BFS, Dijkstra 或者 A* 等等)就可以很好的解决寻路问题,但是在另一些游戏中,尤其是在游戏地图比较庞大的情况下,这些基本寻路算法需要耗费大量的时间进行寻路,进而造成游戏卡顿,这使得寻路优化变得非常重要.
用户2615200
2020-12-18
2.1K0
Sweet Snippet 之 统计二进制中 1 的个数
二进制中1的个数是汉明重量(Hamming Weight)的一种,广泛应用于二进制比较等操作中,举例来说,二进制 1011 的汉明重量便是 3,因为该二进制中总共包含 3 个 1.
用户2615200
2020-10-30
3480
简单聊聊 Perlin 噪声(下篇)
理解了二维的 Value 噪声,我们就可以进一步来看 二维的 Perlin 噪声了.
用户2615200
2020-09-01
1K0
Lua 5.4 新特性概览
Lua 5.4 正式发布了,很多朋友应该会比较好奇 Lua 5.4 与之前版本的区别,本文就此简单介绍一些 Lua 5.4 的新特性.
用户2615200
2020-07-09
2.8K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档