原创 修復Arch Linux和Manjaro Linux無法顯示emoji的問題

安裝好Arch Linux或Manjaro Linux系統後默認沒辦法正常顯示emoji,通常會變成方框或者帶有unicode碼的方塊: 這是因爲缺失字體以及相關的字體配置導致的。 當然也有一小部分應用沒有這個問題(比如Chrome),因

原创 golang拾遺:內置函數len的小知識

len是很常用的內置函數,可以測量字符串、slice、array、channel以及map的長度/元素個數。 不過你真的瞭解len嗎?也許還有一些你不知道的小知識。 我們來看一道GO101的題目,這題也被GO語言愛好者週刊轉載: packa

原创 c++性能測試工具:google benchmark進階(一)

這是c++性能測試工具教程的第四篇文章,從本篇開始我將逐步介紹一些性能測試的高級技巧。 前三篇教程可以看這裏: c++性能測試工具:google benchmark入門(一) c++性能測試工具:google benchmark入門(二)

原创 做個地道的c++程序猿:copy and swap慣用法

如果你對外語感興趣,那肯定聽過“idiom”這個詞。牛津詞典對於它的解釋叫慣用語,再精簡一些可以叫“成語”。想要掌握一門語言,其中的“成語”是不能不學的,而希望成爲地道的語言使用者,“idiom”則是必不可少的。程序語言其實和外語也很類似,

原创 使用constexpr時遇到的小坑

最近在使用constexpr的時候無意中踩了個小坑。 下面給個小示例: #include <iostream> constexpr int n = 10; constexpr char *msg = "Hello, world!"; i

原创 圖解如何在Linux上配置git自動登錄驗證

記錄一下配置git操作遠程倉庫時的自動驗證,效果如下圖: 本文介紹的是Linux下的配置。Windows上默認已經啓用憑證存儲和自動驗證(依靠wincred實現,以後會使用GCM-Core)。 準備工作 首先需要Linux系統上安裝了db

原创 現代c++模板元編程:遍歷tuple

tuple是c++11新增的數據結構,通過tuple我們可以方便地把各種不同類型的數據組合在一起。有了這樣的數據結構我們就可以輕鬆模擬多值返回等技巧了。 tuple和其他的容器不同,標準庫沒有提供適用於tuple的迭代器,也沒有提供tupl

原创 徹底理解c++的隱式類型轉換

隱式類型轉換可以說是我們的老朋友了,在代碼裏我們或多或少都會依賴c++的隱式類型轉換。 然而不幸的是隱式類型轉換也是c++的一大坑點,稍不注意很容易寫出各種奇妙的bug。 因此我想借着本文來梳理一遍c++的隱式類型轉換,複習的同時也避免其他

原创 golang1.16新特性速覽

今天是假期最後一天,明天起大家也要陸續復工了。golang1.16也在今天正式發佈了。 原定計劃是2月1號年前發佈的,不過遲到也是golang的老傳統了,正好也趁着最後的假期快速預覽一下golang1.16的新特性吧。 本文索引 語言內

原创 配置CLion管理Qt項目國際化支持

隨着Qt 6的發佈,cmake也正式宣告接管qmake的工作了。 在之前的一篇博客裏我介紹瞭如何使用cmake管理你的qt項目,不過有一點我沒有講,那就是對國際化(i18n)的處理。 今天我們就來介紹下如何使用cmake+clion配置管理

原创 一道有趣的golang排錯題

很久沒寫博客了,不得不說go語言愛好者週刊是個寶貝,本來想隨便看看打發時間的,沒想到一下子給了我久違的靈感。 go語言愛好者週刊78期出了一道非常有意思的題目。 我們來看看題目。先給出如下的代碼: package main import

原创 golang拾遺:嵌入類型

這裏是golang拾遺系列的第三篇,前兩篇可以點擊此處鏈接跳轉: golang拾遺:爲什麼我們需要泛型 golang拾遺:指針和接口 今天我們要討論的是golang中的嵌入類型(embedding types),有時候也被叫做嵌入式字段(e

原创 golang1.16內嵌靜態資源指南

今天是萬聖節,也是golang1.16新特性凍結的日子。不得不說自從go2路線發佈之後golang新特性的迭代速度也飛速提升,1.16中有相當多的重要更新,包括io標準庫的重構,語言內置的靜態資源嵌入等。 本次將要介紹的是新的靜態資源嵌入功

原创 golang拾遺:爲什麼我們需要泛型

從golang誕生起是否應該添加泛型支持就是一個熱度未曾消減的議題。泛型的支持者們認爲沒有泛型的語言是不完整的,而泛型的反對者們則認爲接口足以取代泛型,增加泛型只會徒增語言的複雜度。雙方各執己見,爭執不下,直到官方最終確定泛型是go2的發展

原创 golang拾遺:指針和接口

這是本系列的第一篇文章,golang拾遺主要是用來記錄一些遺忘了的、平時從沒注意過的golang相關知識。想做本系列的契機其實是因爲疫情閒着在家無聊,網上衝浪的時候發現了zhuihu上的go語言愛好者週刊和Go 101,讀之如醍醐灌頂,受益