C++

That C++ things I care.
[219] 《大機車報》第七期已出刊
C++

[219] 《大機車報》第七期已出刊

《大山姆的機機車車™》電子報第七期 [https://news.samtsai.org/issues/7-101617]已經上線。本期人物「落腮T」 Jason Turner [https://twitter.com/lefticus?lang=en] 近年來為各大 C++ Conference 常客,除了共同主持 CppCast 外,還有每週一集的 C++ Weekly 錄影,在圈內頗為活躍。 電子報第七期漏掉了他整理好的《C++ Best Practices》 [https://github.com/lefticus/cppbestpractices/blob/master/00-Table_of_Contents.md] ,除了有 Coding Style 外,
1 min read
[181] Sam's Podcast v.06
podcast

[181] Sam's Podcast v.06

個人播客貝塔測試中…,加上了結尾歌曲。試著針對一個主題討論,今天談的是 Google Abseil Project。 * [180] Google's Abseil Project, Part 1 [https://samtsai.org/2017/11/09/180-googles-abseil-project-part-1/] * [160] 免費取得 Pluralsight 線上學習資源(無限暢飲三個月) [https://samtsai.org/2017/09/15/160-visual-studio-essentials-pluralsight-free/] * Music: Free Music Archive: Lee Rosevere - I'm Going for a Coffee [http://freemusicarchive.
[161] Pluralsight C++ 課程精選
C++

[161] Pluralsight C++ 課程精選

前面提到三個月免費享用 Pluralsight 海量學習資源的方法 [https://samtsai.org/2017/09/15/160-visual-studio-essentials-pluralsight-free/] ,這一篇列出幾個 Pluralsight 上,我認為不錯的 C++ 課程。 入門 Pluralsight 的 C++ 入門課由凱特大嬸(Kate Gregory) [https://twitter.com/gregcons?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor] 操刀,有兩集,皆以 C++11 為教授範圍: * C++ Fundamentals [https://app.pluralsight.com/library/courses/cpp-fundamentals]
3 min read
[160] 免費取得 Pluralsight 線上學習資源(無限暢飲三個月)
Learning

[160] 免費取得 Pluralsight 線上學習資源(無限暢飲三個月)

Pluralsight 主要提供軟體工程相關的線上學習資源,以影片為主,其課程內容與講師素質高。這幾年陸續併購 [https://www.crunchbase.com/organization/pluralsight/acquisitions]了幾間線上學習公司,如 PeepCode, Tekpub, Code School,成了領域頭目之一。許多公司併購後即關閉原站,但 Code School [https://www.codeschool.com/] 例外,目前依然維持獨立運作。 Pluralsight 的 C++ 課程有許多知名人物,如 Kenny Kerr [https://twitter.com/kennykerr?lang=en] (現任職 Microsoft,負責 C++/WinRT 專案 [https://github.
3 min read
[156] 函數或類別
C++

[156] 函數或類別

先前寫過 C++ 類別的設計手法 [https://goo.gl/kJRPcK],其中一個是「滿足條件才能生成物件」。其實,需求若只是產生 TheTea ,使用函數(Function)即可滿足,有需要寫成類別嗎?本文以此例探討:To class, or not to class. 以函數實作 把先前的 TeaMaker 類別實作貼過來: class TeaMaker { TeaMaker(Tea, Sugar, Ice); TheTea Make(); }; 相應的函數可實作成: TheTea MakeTea(Tea, Sugar, Ice); 同樣是接收三個輸入參數,產生輸出(TheTea),上述函數實作滿足了「當前」的需求。一般來說,呼叫函數不需要先建物件,再呼叫其成員函數,
6 min read
[153] JUCE Diary #14:Catch Test Framework
C++

[153] JUCE Diary #14:Catch Test Framework

Catch [https://github.com/philsquared/Catch] 在 C++ 單元測試、自動化測試領域算是新兵。由於設計優良,使用簡便,近來頗受好評。JUCE 內建了單元測試機制 [https://www.juce.com/doc/classUnitTest] ,雖然大部分情況下比夠用還多,不過,為了避免落入「固步自封」的工程師死亡陷阱,偶爾還是要看看窗外的世界,弄髒手,動動腦。 JUCE 論壇經常出現高手分享自己的作品,昨天就看到 varx [https://forum.juce.com/t/varx-reactive-extensions-rx-for-juce/22537] 這個把 Reactive-Extension, RxCpp [https://github.com/Reactive-Extensions/RxCpp] 導入到 JUCE
4 min read
[139] JUCE Diary #13:C++ namespace 的必要
JUCE

[139] JUCE Diary #13:C++ namespace 的必要

前言 C++ namespace [http://en.cppreference.com/w/cpp/language/namespace] 的用意是減少名稱衝突,Objective-C 則是以「加上前贅詞」(「贅」者,多餘、沒有用處。)的方式處理,老實說有點不牢靠。 JUCE 的公開類別置放於 juce:: 命名空間裡。不過,預設情況下由於 JuceHeader.h 引入了 using namespace juce;,因此使用 JUCE 類別不需要加上 juce:: 。這麼做純粹是為了節省打字時間,並試圖讓「版面」更乾淨,但不應視為「最佳實務」。這個預設行為可以透過定義 DONT_SET_USING_JUCE_NAMESPACE=1
3 min read