Fork me on GitHub
摘要: 上一篇中我们初步体验了google benchmark的使用,在本文中我们将更进一步深入了解google benchmark的常用方法。 本文索引 向测试用例传递参数 简化多个类似测试用例的生成 使用参数生成器 向测试用例传递参数 之前我们的测试用例都只接受一个benchmark::State&类型 阅读全文
posted @ 2019-06-22 02:34 apocelipes 阅读(7816) 评论(1) 推荐(6) 编辑
摘要: 通常,当我们开发Linux程序时有两种方案: 1. 在Linux上直接编写程序并进行运行测试和调试 2. 在Windows或Mac OS X上借助工具进行远程开发 虽然我自己是在Linux环境上直接进行开发的,但也有许多的人是在Windows环境上从事开发工作的,如果离开自己熟悉的系统到陌生的环境上 阅读全文
posted @ 2019-05-21 14:07 apocelipes 阅读(61484) 评论(33) 推荐(34) 编辑
摘要: 在[前两篇文章](https://www.cnblogs.com/apocelipes/p/10758692.html)中我们详细介绍了使用智能指针构建二叉树并进行了层序遍历。 现在我们已经掌握了足够的前置知识,可以深入了解二叉搜索树的查找和删除了。 本文索引 二叉搜索树的查找 查找最小值和最大值 阅读全文
posted @ 2019-05-11 16:54 apocelipes 阅读(811) 评论(0) 推荐(0) 编辑
摘要: "上一篇文章" 中我们提到了用智能指针构建二叉树来减轻我们的工作负担。今天我们来讨论下稍微复杂的情况下如何借助智能指针管理资源。 一般来说,当我们在程序中使用了智能指针后就无需亲自过问资源管理的问题了。然而随着数据结构和算法逐渐变得复杂,资源之间的关系也可能不再是简单的共享,比如下面的例子。 误用s 阅读全文
posted @ 2019-05-07 17:10 apocelipes 阅读(990) 评论(0) 推荐(0) 编辑
摘要: 二叉树是极为常见的数据结构,关于如何遍历其中元素的文章更是数不胜数。 然而大多数文章都是讲解的前序/中序/后序遍历,有关逐层打印元素的文章并不多,已有文章的讲解也较为晦涩读起来不得要领。本文将用形象的图片加上清晰的代码帮助你理解层序遍历的实现,同时我们使用现代c++提供的智能指针来简化树形数据结构的 阅读全文
posted @ 2019-04-23 20:18 apocelipes 阅读(2274) 评论(1) 推荐(0) 编辑
摘要: QLineEdit是使用频率最高的控件之一,当我们想获取用户输入时自然而然得会用到它。 通常我们会将QLineEdit的信号或其他控件的信号绑定至槽函数,然后获取并处理编辑器内的数据。你会觉得我们拿到的是第一手的“热乎着”的数据,所以理所当然地将过滤和验证逻辑都加入槽函数中,然而事实并非如此。那么数 阅读全文
posted @ 2019-03-14 22:02 apocelipes 阅读(3374) 评论(1) 推荐(1) 编辑
摘要: 将view中的文本内容用自定义的颜色显示是一种十分常见的需求。今天我们稍微改变些“花样”。 本文索引 需求定义 需求分析 代码实现 思考题 需求定义 我们的需求很简单,现在有一些在view中的text内容需要使用彩色显示,而且不使用单一的一种颜色,而是多种颜色渐变实现的彩虹效果。 文字描述可能比较抽 阅读全文
posted @ 2019-03-10 00:08 apocelipes 阅读(2758) 评论(1) 推荐(0) 编辑
摘要: 也许你已经觉得自己可以熟练使用python并能胜任许多开发任务,所以这篇文章是在浪费你的时间。不过别着急,我们先从一个例子开始: 猜猜看输出是什么?你会说不就是0,1,1么,真的是这样吗? 这是为什么?如果你还不清楚产生错误的原因,那就请继续往下阅读吧! 本文索引 LEGB原则 名字隐藏和暂时性死区 阅读全文
posted @ 2019-02-20 19:56 apocelipes 阅读(1492) 评论(0) 推荐(3) 编辑
摘要: 很多时候我们会发现输入的一长串内容不得不全部删除重新输入,这时比起一直按着退格键不放一个清除内容按钮更受欢迎。 今天我将介绍三种为QLineEdit添加清除内容按钮的方法,其中两种方法有较强的功能针对性,另一种方法则是通用的,不仅可以用来实现清除输入内容,还可以扩展出其他功能。 本文索引 方法1:s 阅读全文
posted @ 2019-02-12 23:10 apocelipes 阅读(15093) 评论(1) 推荐(0) 编辑
摘要: 使用Qt进行程序开发时QtCreator总是不二之选。作为老牌IDE在提供了强大的功能同时也对Qt的支持做了许多优化。如果没有特别的原因你应该使用它。 然而一个顺手的工具将会极大得提升生产效率,而如果你之前使用别的工具进行开发,那么就要斟酌一下学习使用QtCreator的成本了。 所以我将介绍配置C 阅读全文
posted @ 2019-02-06 14:17 apocelipes 阅读(30231) 评论(2) 推荐(5) 编辑