Fork me on GitHub
摘要:隐式类型转换可以说是我们的老朋友了,在代码里我们或多或少都会依赖c++的隐式类型转换。 然而不幸的是隐式类型转换也是c++的一大坑点,稍不注意很容易写出各种奇妙的bug。 因此我想借着本文来梳理一遍c++的隐式类型转换,复习的同时也避免其他人踩到类似的坑。 本文索引 什么是隐式类型转换 基础回顾 直 阅读全文
posted @ 2021-02-19 10:52 apocelipes 阅读(715) 评论(0) 推荐(4) 编辑
摘要:今天是假期最后一天,明天起大家也要陆续复工了。golang1.16也在今天正式发布了。 原定计划是2月1号年前发布的,不过迟到也是golang的老传统了,正好也趁着最后的假期快速预览一下golang1.16的新特性吧。 本文索引 语言內建的资源嵌入支持 支持arm64 go modules的新特性 阅读全文
posted @ 2021-02-17 17:30 apocelipes 阅读(1453) 评论(0) 推荐(0) 编辑
摘要:随着Qt 6的发布,cmake也正式宣告接管qmake的工作了。 在之前的一篇博客里我介绍了如何使用cmake管理你的qt项目,不过有一点我没有讲,那就是对国际化(i18n)的处理。 今天我们就来介绍下如何使用cmake+clion配置管理一个包含了国际化支持的项目。 准备工作 你需要准备下面的工具 阅读全文
posted @ 2021-02-01 10:47 apocelipes 阅读(209) 评论(0) 推荐(0) 编辑
摘要:很久没写博客了,不得不说go语言爱好者周刊是个宝贝,本来想随便看看打发时间的,没想到一下子给了我久违的灵感。 go语言爱好者周刊78期出了一道非常有意思的题目。 我们来看看题目。先给出如下的代码: package main import ( "fmt" "time" ) func main() { 阅读全文
posted @ 2021-01-18 09:54 apocelipes 阅读(183) 评论(0) 推荐(2) 编辑
摘要:这里是golang拾遗系列的第三篇,前两篇可以点击此处链接跳转: golang拾遗:为什么我们需要泛型 golang拾遗:指针和接口 今天我们要讨论的是golang中的嵌入类型(embedding types),有时候也被叫做嵌入式字段(embedding fields)。 我们将会讨论为什么使用嵌 阅读全文
posted @ 2020-12-05 19:01 apocelipes 阅读(235) 评论(0) 推荐(0) 编辑
摘要:今天是万圣节,也是golang1.16新特性冻结的日子。不得不说自从go2路线发布之后golang新特性的迭代速度也飞速提升,1.16中有相当多的重要更新,包括io标准库的重构,语言内置的静态资源嵌入等。 本次将要介绍的是新的静态资源嵌入功能,虽然之前已经有相关的提案,但实际的api和提案还有些出入 阅读全文
posted @ 2020-10-31 21:35 apocelipes 阅读(3880) 评论(0) 推荐(0) 编辑
摘要:从golang诞生起是否应该添加泛型支持就是一个热度未曾消减的议题。泛型的支持者们认为没有泛型的语言是不完整的,而泛型的反对者们则认为接口足以取代泛型,增加泛型只会徒增语言的复杂度。双方各执己见,争执不下,直到官方最终确定泛型是go2的发展路线中的重中之重。 今天我们就来看看为什么我们需要泛型,没有 阅读全文
posted @ 2020-10-17 19:12 apocelipes 阅读(1449) 评论(5) 推荐(3) 编辑
摘要:这是本系列的第一篇文章,golang拾遗主要是用来记录一些遗忘了的、平时从没注意过的golang相关知识。想做本系列的契机其实是因为疫情闲着在家无聊,网上冲浪的时候发现了zhuihu上的go语言爱好者周刊和Go 101,读之如醍醐灌顶,受益匪浅,于是本系列的文章就诞生了。拾遗主要是收集和golang 阅读全文
posted @ 2020-10-11 01:15 apocelipes 阅读(796) 评论(0) 推荐(0) 编辑
摘要:大部分教程都会告诉我们静态初始化块和静态字段总是在初始化块和普通类字段前运行,事实上也确实如此,直到我看到下面这样的代码: public class Test { static Test test = new Test(); { System.out.println("normal"); } sta 阅读全文
posted @ 2020-09-10 15:28 apocelipes 阅读(164) 评论(0) 推荐(0) 编辑
摘要:三元运算符广泛存在于其他语言中,比如: python: val = trueValue if expr else falseValue javascript: const val = expr ? trueValue : falseValue c、c++: const char *val = exp 阅读全文
posted @ 2020-09-03 16:09 apocelipes 阅读(2176) 评论(0) 推荐(0) 编辑