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

tkokof 的技术,小趣及杂念

专栏作者
174
文章
137304
阅读量
22
订阅数
[译]Lua编程技巧
这个原则((YAGNI原则))和你计划在将来添加的程序特性有关,该原则是 “You aren’t gonna need it(你不会需要它的)” 的缩写.你不应该在需求明确之前添加新的程序功能或者程序特性,任何新的程序特性其实都会对程序的扩展性产生限制,所以一个不必要的程序特性很可能会影响到之后新增的一些必要的程序特性,并且当程序特性需求不明确时,我们也很难定义该程序特性实际的开发内容和测试方法.
用户2615200
2022-06-05
5410
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
2560
Sweet Snippet 之 四则运算求值
双栈算法可以实现四则运算的求值,但是扩展性比较低,更好的方式是基于语法分析来实现,整体大概包括以下几个步骤:
用户2615200
2022-05-11
3510
时钟
(前记:网上无意间翻到了这一系列文章,真心觉得不错,对于Unity初学者应该是非常有助益的(譬如我:)),顺手翻译了第一篇,也算是一次小小的整理和复习,虽然原文中的有些描述略显琐碎,但就总体而言也可谓细致入微,文后的“QA”也很不错,有兴趣的朋友可以仔细看看 :)PS 第一次做翻译,生硬不当之处甚多,见谅,如能不吝纠正指出,大好,拜谢先~ :))
用户2615200
2022-05-11
1.8K0
[译]C++中的内存同步模式(memory order)
原子变量同步是内存模型中最让人感到困惑的地方.原子(atomic)变量的主要作用就是同步多线程间的共享内存访问,一般来讲,某个线程会创建一些数据,然后给原子变量设置标志数值(译注:此处的原子变量类似于一个flag);其他线程则读取这个原子变量,当发现其数值变为了标志数值之后,之前线程中的共享数据就应该已经创建完成并且可以在当前线程中进行读取了.不同的内存同步模式标识了线程间数据共享机制的"强弱"程度,富有经验的程序员可以使用"较弱"的同步模式来提高程序的执行效率.
用户2615200
2022-01-12
1K0
[译]C++17,容器的持续改进与统一访问
C++11 中已经包含了8个关联容器,C++17 改进了这些容器的接口方法,现在你可以更加方便的向容器中插入元素,合并或者移动一个容器的元素至另一个"相似"容器中,并且新标准还统一了关联容器和顺序容器的访问方式.
用户2615200
2022-01-12
5570
[译]C++17,标准库新引入的并行算法
C++17 对 STL 算法的改动,概念上其实很简单.标准库之前有超过100个算法,内容包括搜索,计数,区间及元素操作等等.新标准重载了其中69个算法并新增了7个算法.重载的算法和新增的算法都支持指定一个所谓执行策略(execution policy)的参数,通过调整这个参数,你可以指定算法是以串行,并行或者矢量并行的方式来运行.
用户2615200
2022-01-12
9340
[译]C++17,使用 string_view 来避免复制
当字符串数据的所有权已经确定(譬如由某个string对象持有),并且你只想访问(而不修改)他们时,使用 std::string_view 可以避免字符串数据的复制,从而提高程序效率,这(指程序效率)也是这篇文章的主要内容.
用户2615200
2022-01-12
8880
[译]C++17,标准库变化的更多细节
之前的文章中我简单介绍了一些C++17标准库的新变化,这次我会介绍更多的相关细节.
用户2615200
2022-01-12
6170
[译]C++17, 语言核心层变化的更多细节
在之前的文章中我介绍了一些C++17语言核心层的变化,这次我会介绍更多的相关细节,涉及的主题有:内联变量(inline variables),模板,auto相关的自动类型推导以及属性(attributes).
用户2615200
2022-01-12
6670
[译]C++17,标准库有哪些新变化?
C++17 有许多新的标准库变化,简单起见,这篇文章只介绍了以下内容:std::string_view,标准模板库中新添加的并行算法,新的文件系统库,以及3个新的数据类型:std::any, std::optional, 和 std::variant.让我们来了解一下其中的细节.
用户2615200
2022-01-12
1.1K0
[译]C++17, 语言核心层有哪些新的变化?
C++11, C++14, 以及 C++17. 我猜你已经看出了其中的命名模式: 今年(2017)的晚些时候,我们便会迎来新的C++标准(C++17). 今年的3月份, C++17已经达到了标准草案阶段. 在我深入新标准的细节之前, 让我们先来总体浏览一下C++17.(译注:作者的文章写于2017年初,当时C++17标准仍未正式发布)
用户2615200
2022-01-12
7350
Sweet Snippet 之 大整数乘法
当整数范围较大时,直接使用乘法运算符(*)很容易导致数值溢出,如果开发工作中确实需要处理这种大范围的整数,那么我们便需要实现一下大(范围)整数的乘法运算(一般方法便是将大整数表达为字符串,然后基于字符串来进行乘法运算).
用户2615200
2022-01-10
4240
Sweet Snippet 之 计算逆序数
所谓逆序数,是指一个排列中所有逆序对的总数,而所谓逆序对,则是指排列中前后位置和大小顺序相反的数对,举个简单的例子:
用户2615200
2021-12-24
3580
UE4 微笔记 之 调整网格材质参数
简单记录一下调整网格(Mesh)材质参数的方法 修改网格材质参数一般有以下几个步骤: 首先创建材质参数(这里有较详细的说明) 创建动态材质实例(UMaterialInstanceDynamic) 设置动态材质参数(通过 SetVectorParameterValue 等方法) 以下是一段简单的代码示例: void SetMeshMaterial(UMeshComponent* MeshComponent, int MaterialIndex) { if (MeshComponent) { auto
用户2615200
2021-12-06
5710
Sweet Snippet 之 骑士金币问题
国王要用金币赏赐忠于他的骑士.骑士在就职的第一天得到一枚金币,接下来的两天(第二天和第三天)每天会得到两枚金币,接下来的三天(第四、五、六天)每天会得到三枚金币,接下来的四天(第七、八、九、十天)每天会得到四枚金币,这样的赏赐形式会一直持续下去,问题是给定一个天数(譬如第十天),求骑士将会获得的总的金币数量.
用户2615200
2021-12-06
3770
Sweet Snippet 之 PlayerPrefs for UE4
值得提到的一点是 PlayerPrefs 主动存储的实现方式,代码中除了释放 PlayerPrefs 时会做一次主动存储以外,另外还使用了一个脏标记(mPlayerPrefsDirty)来定时的检查是否要进行主动存储
用户2615200
2021-09-10
5440
C++(UE4) Memory Management Review
以下是关于 C++(UE4) 内存管理的一点简单分享 原始方式(Raw) 📷 malloc/free 是 C 中用于分配内存和释放内存的主要方式 new/delete 是 C++ 中用于分配内存和释放内存的主要方式,除了内存管理之外, new/delete 还负责调用对象的构造函数和析构函数 new[]/delete[] 是 new/delete 的数组形式 比较重要的一点是, new/delete 等内存管理的调用一定要匹配,譬如调用了 new 就一定要调用 delete(而不能 不调用 delet
用户2615200
2021-09-10
9480
Sweet Snippet 之 RingBuffer for UE4
环形缓冲区(ring buffer)在一些情况下非常有用, UE4 中提供了一个默认的实现 TCircularBuffer(代码较短,下面直接贴出完整源码):
用户2615200
2021-09-10
4710
MiniGame 之 扫雷实现
样例中的扫雷实现主要是两个类型(BombGame 和 BombGrid),下面是完整代码:
用户2615200
2021-09-10
3910
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档