Fork me on GitHub
摘要: 在各种程序语言中都提供了将容器元素随机排序的 方法,c++也不例外。 不过c++将 放在了 random random_shuffle std::shuffle`。其中一个好处是新的函数在可以自定义随机数生成方法的同时保证了更好的安全性。 先来看下新函数的原型: 其中 和`last g`是一个“Un 阅读全文
posted @ 2019-02-04 01:41 apocelipes 阅读(3627) 评论(0) 推荐(1) 编辑
摘要: 如果你正在寻找一款c++性能测试工具,那么这篇文章是不容错过的。 市面上的benchmark工具或多或少存在一些使用上的不便,那么是否存在一个使用简便又功能强大的性能测试工具呢?答案是google/benchmark。 google/benchmark是一个由Google开发的基于googletes 阅读全文
posted @ 2019-02-02 18:11 apocelipes 阅读(27426) 评论(1) 推荐(2) 编辑
摘要: `std::shared_ptr`智能指针是c++11一个相当重要的特性,可以极大地将开发者从资源申请/释放的繁重劳动中解放出来。 然而直到c++17前 都有一个严重的限制,那就是它并不支持动态数组: 错误的原因很明显,然而 的就没有那么好找了,究其原因,是因为 对非数组类型都使用 释放资源,显然这 阅读全文
posted @ 2019-02-01 20:18 apocelipes 阅读(17293) 评论(1) 推荐(9) 编辑
摘要: 本文索引 问题引入 context包简介 示例 问题引入 goroutine为我们提供了轻量级的并发实现,作为golang最大的亮点之一更是备受推崇。 goroutine的简单固然有利于我们的开发,但简单总是有代价的,考虑如下例子: golang func httpDo(req http.Reque 阅读全文
posted @ 2019-01-31 20:55 apocelipes 阅读(2633) 评论(0) 推荐(0) 编辑
摘要: 还有半个月go1.12就要发布了。这是首个将go modules纳入正式支持的稳定版本。 距离go modules随着go1.11正式面向广大开发者进行体验也已经过去了半年,这段时间go modules也发生了一些变化,借此机会我想再次深入探讨go modules的使用,同时对这个新生包管理方案做一 阅读全文
posted @ 2019-01-20 15:37 apocelipes 阅读(36382) 评论(8) 推荐(5) 编辑
摘要: 本文将带你走进python3.7的新特性dataclass,通过本文你将学会dataclass的使用并避免踏入某些陷阱。 dataclass简介 dataclass的使用 定义一个dataclass 深入dataclass装饰器 数据类的基石——dataclasses.field 一些常用函数 da 阅读全文
posted @ 2019-01-17 20:17 apocelipes 阅读(37159) 评论(6) 推荐(7) 编辑
摘要: 本文索引 需求 原理 实现遮罩控件 遮罩的使用 需求 我们在显示一些模态对话框的时候,往往需要将对话框的背景颜色调暗以达到突出当前对话框的效果,例如: 对话框的父窗口除了标题栏以外的部分都变暗了,在父窗口的对比下对话框的显示效果就得到了强调。 这种设计多见于web页面,当用户点击诸如购买之类的按钮后 阅读全文
posted @ 2019-01-14 17:38 apocelipes 阅读(9569) 评论(0) 推荐(1) 编辑
摘要: Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们。 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些“不同寻常”的内置类型。 (注意:本文基于python3,不会包含任何python2相关内容) 本文索引: frozenset 阅读全文
posted @ 2019-01-10 20:02 apocelipes 阅读(902) 评论(0) 推荐(0) 编辑
摘要: 判断一个文件是否存在是一个相当常见的需求,在golang中也有多种方案实现这一功能。 现在我们介绍其中两种最常用也是最简单的实现,第一种将是跨平台通用的,而第二种则在POSIX平台上通用。 跨平台实现 跨平台实现的思路很简单,如果某个文件不存在,那么使用 就一定会返回error,只要判断error是 阅读全文
posted @ 2018-12-30 15:40 apocelipes 阅读(18226) 评论(5) 推荐(0) 编辑
摘要: 上周在更新Manjaro Linux的时候误触了电源键,导致内核更新了一半系统强制关机,重启时正常进入grub但无法正常引导进入系统。 由于不想重装系统(一大堆环境和工具的配置还是相当繁琐的),加上初步判断应该仅仅是内核引导镜像没能正常安装导致的问题,所以决定先用liveUSB进行急救。 需要准备的 阅读全文
posted @ 2018-12-28 21:09 apocelipes 阅读(13508) 评论(0) 推荐(0) 编辑