摘要:
前言 c#一般使用托管内存,不用担心资源释放问题。但如果调用操作系统资源,比如文件、窗口的句柄,数据库及网络连接;或者PInvoke调用C++的库。此时,需要程序员手动对这些资源进行管理。其中IDisposable接口,终结器,可以帮助我们封装这一释放过程。 官方示例 微软的官方文档如下。这个类看起 阅读全文
摘要:
前言 C++中有“移动语义、右值引用、引用折叠、万能引用、完美转发”等许多概念,本文尽量按照时间顺序,理清这些概念的由来,有什么关系,解决了什么问题。 移动语义 首先介绍移动语义的概念。移动语义是C++11引入的,正如移动一词的含义:一个物体从地点A到地点B,从结果上看,物体位置发生了变化,还是一个 阅读全文
摘要:
背景 由于是公司项目,所以不方便给出代码或者视频,只能列一些自己画的流程图。 大致情况如上,前端有7个显示区。在对其进行滚动翻页的时候,存在以下问题: 1. 连续滚轮翻页,每次所有显示区刷新完,进行下一次翻页用时较久。(说人话就是,平均耗时翻页时间长) 2. 连续滚轮翻页,会出现一下子翻不动,然后连 阅读全文
摘要:
前言 最近写一个任务队列,可以支持存入返回值为void的任意函数对象。需要定义一个Task模板,来存储函数对象以及参数。大致的实现如下: class Task { public: template <typename Func, typename... Args> Task(Func&& f, Ar 阅读全文
摘要:
前言 之前在知乎闲逛看有意思的项目的时候,发现一个前辈曾做过一个在鼠标周围随机生成爱心的小程序,闲来无聊实现了一版随机生成彩色小球的。最近疫情在网上认识一个妹子,她知道这个程序之后,让我给她做一个“格桑花”版的。我想着应该差不多,就改了改代码。话不多说,下面介绍一下。 实现 总的思路很简单,就是获取 阅读全文
摘要:
今天闲来无事,研究起C#的Unsafe代码,很好奇为什么在操作图像数组的时候要用指针,明明c#也提供了类似p[i]这样的写法。下面说说我的看法,欢迎讨论 下面先介绍C#的 C#的的数组时引用类型,继承至Array类(因此才有Length等属性),所以他是一般情况下是分配在堆内存中的。 比如下面代码中 阅读全文
摘要:
更 2023年12月更新,工作2年半,最近离职了,更新一哈。 当年张三丰教张无忌太极拳曾问过:“无忌你记住了吗?”,无忌答“忘完了”。张三丰哈哈大笑:“好”,于是无忌学会了太极拳。但现实中,书看一遍忘完了,是真的忘完了。。。现在也没心思再自己专细节,这部分内容待我第二次读的时候再完善吧 写在最前面 阅读全文