摘要:
也许你已经觉得自己可以熟练使用python并能胜任许多开发任务,所以这篇文章是在浪费你的时间。不过别着急,我们先从一个例子开始: 猜猜看输出是什么?你会说不就是0,1,1么,真的是这样吗? 这是为什么?如果你还不清楚产生错误的原因,那就请继续往下阅读吧! 本文索引 LEGB原则 名字隐藏和暂时性死区 阅读全文
摘要:
很多时候我们会发现输入的一长串内容不得不全部删除重新输入,这时比起一直按着退格键不放一个清除内容按钮更受欢迎。 今天我将介绍三种为QLineEdit添加清除内容按钮的方法,其中两种方法有较强的功能针对性,另一种方法则是通用的,不仅可以用来实现清除输入内容,还可以扩展出其他功能。 本文索引 方法1:s 阅读全文
摘要:
使用Qt进行程序开发时QtCreator总是不二之选。作为老牌IDE在提供了强大的功能同时也对Qt的支持做了许多优化。如果没有特别的原因你应该使用它。 然而一个顺手的工具将会极大得提升生产效率,而如果你之前使用别的工具进行开发,那么就要斟酌一下学习使用QtCreator的成本了。 所以我将介绍配置C 阅读全文
摘要:
在各种程序语言中都提供了将容器元素随机排序的 方法,c++也不例外。 不过c++将 放在了 random random_shuffle std::shuffle`。其中一个好处是新的函数在可以自定义随机数生成方法的同时保证了更好的安全性。 先来看下新函数的原型: 其中 和`last g`是一个“Un 阅读全文
摘要:
如果你正在寻找一款c++性能测试工具,那么这篇文章是不容错过的。 市面上的benchmark工具或多或少存在一些使用上的不便,那么是否存在一个使用简便又功能强大的性能测试工具呢?答案是google/benchmark。 google/benchmark是一个由Google开发的基于googletes 阅读全文
摘要:
`std::shared_ptr`智能指针是c++11一个相当重要的特性,可以极大地将开发者从资源申请/释放的繁重劳动中解放出来。 然而直到c++17前 都有一个严重的限制,那就是它并不支持动态数组: 错误的原因很明显,然而 的就没有那么好找了,究其原因,是因为 对非数组类型都使用 释放资源,显然这 阅读全文
摘要:
本文索引 问题引入 context包简介 示例 问题引入 goroutine为我们提供了轻量级的并发实现,作为golang最大的亮点之一更是备受推崇。 goroutine的简单固然有利于我们的开发,但简单总是有代价的,考虑如下例子: golang func httpDo(req http.Reque 阅读全文
摘要:
还有半个月go1.12就要发布了。这是首个将go modules纳入正式支持的稳定版本。 距离go modules随着go1.11正式面向广大开发者进行体验也已经过去了半年,这段时间go modules也发生了一些变化,借此机会我想再次深入探讨go modules的使用,同时对这个新生包管理方案做一 阅读全文
摘要:
本文将带你走进python3.7的新特性dataclass,通过本文你将学会dataclass的使用并避免踏入某些陷阱。 dataclass简介 dataclass的使用 定义一个dataclass 深入dataclass装饰器 数据类的基石——dataclasses.field 一些常用函数 da 阅读全文
摘要:
本文索引 需求 原理 实现遮罩控件 遮罩的使用 需求 我们在显示一些模态对话框的时候,往往需要将对话框的背景颜色调暗以达到突出当前对话框的效果,例如: 对话框的父窗口除了标题栏以外的部分都变暗了,在父窗口的对比下对话框的显示效果就得到了强调。 这种设计多见于web页面,当用户点击诸如购买之类的按钮后 阅读全文