Lambda Capture by Move

Posted on August 4, 2018
之前的文章稍微提過了用來轉移資料所有權的 std::move,這次來聊聊怎樣與 lambda 搭配服用。對 C++14 及其之後的標準而言,這再簡單不過了:#include <cassert>#include <functional>#include <iostr...
Read More

虛擬繼承的邪惡

Posted on July 21, 2018
這次的文章,我想來分享的不是現代 C++,而是關於傳統 C++ 虛擬繼承 (virtual inheritance) 的一個小故事。先講結論:能免則免!前一陣子有個同事在寫某個單元測試的時候,發現了一個很奇怪的現象,於是跑來問我。結果我當下也無法解釋,最後研究了一整個下午之後,我半開玩笑地跑去...
Read More

當 Rvalue 遇上 Reference

Posted on July 7, 2018
在第二篇文章就直衝 rvalue reference 這個我覺得自己都還沒完全掌握的概念,實在是個相當大的挑戰。不過既然遲早都會遇上這個概念,不如就試著寫寫看,讓自己更熟悉點。先寫在前面,我並不打算在短短一篇文章裡對 rvalue reference 做全面的介紹,只是分享一些自己對這個概念的...
Read More

楔子;行話

Posted on June 23, 2018
上次認真地學 C++ 大概是在 2002 年了吧!那時候啃了本 The C++ Standard Library 中文版,是本基於 C++98 寫的書。之後雖然還算常寫 C++,但一直懶得去研究新的 C++ 標準多了什麼,只有偶爾學到一點點零散的小東西,也不太常去用。直到去年開始參與開發 Ap...
Read More