博客

小提示:在函数和变量名称中使用 from 而非 to

今天我写到了涉及多个Map的代码片段。与许多其他人一样,我通常将这些Map命名为 x_to_y : 当我需要使用这些Map时,我的代码通常看起来像这样: 正如你所见,这个顺序并不特别直观。这段代码执行了从 variable 到 number 再到 canonical var 的转换,但理解它需要从内到外阅读,类似于解开螺旋一样。 从内到外阅读很具有挑战性。例如,尽管我有将近十年的 C 和 C…

Vulkan动态渲染(dynamic rendering)教程

动态渲染(dynamic rendering) 是 两个月前被刚刚推出 的一个新的Vulkan扩展。 有了它,我们在Vulkan中可以省去创建渲染通道对象( VkRenderPass )以及帧缓冲存储器对象( VkFramebuffer )的代码。 在动态渲染被推出以前,为了写一个Vulkan渲染器,我们总是需要创建渲染通道对象。 渲染通道的API…

用Typescript来实现中英文博客

各位2022年新年快乐! 今天我想谈谈与我大多数博客文章不同的东西:我是如何用Typescript来实现我的双语博客的。 自从我在2015年创建这个博客以来,我一直想把它变成中英文的来吸引更多的国内受众,而我终于在2019年底终于实现了这一点。 我的博客的国际化实现可能与大多数人不同,因为我没有使用任何例如 i18next 的第三方库, 而主要依靠Typescript…

C++标准库的小工具: std::align

今天我想来讲述一下C++标准库中的 std::align 函数。 因其用途有限,它可能是C++标准库中最鲜为人知的函数之一。 在下文中,我将用 arena allocator 来作为使用 std::align 的例子。 Arena allocator Arena allocator 可能是最简单的自定义内存管理策略。在一些文献中 arena allocator 也被叫为 bump…