序
PREFACE
我跟本書的作者羅能認識已經有一年多了。初次相識是在我的一次關于嵌入式系統的C++重構演講之后,他和其他一些與會者加了我的聯系方式。不過跟大部分人不同,我們之間一直在“聯系”,而且是很頻繁的雙向聯系。原因無他,我們都是真正的C++和編程愛好者。他會把他的一些文章和代碼發給我看,而我在寫了一些有意思的代碼和文章后,也會發給他交流。雖然歲數比他大,但我在他面前并沒有多少“倚老賣老”的資格,反而是有點身為前浪的壓力。事實上,我有些實際的工作項目和演講,已經借鑒了他的想法和代碼。
有沒有注意到我說的是“C++和編程愛好者”?羅能并不只會C++,他對Rust和函數式編程語言(多半還有其他我不知道的語言)都有所涉獵。顯然,C++仍是他最擅長的語言。所以,這本以C++為主題的書,也就成了他的第一本關于編程的書籍。
C++20是C++在C++11之后最大的一次語言變革,其中引入了大量具有革命性的新特性。本書從一個獨特的視角,講解了C++20最重要的四大特性。雖然新特性不止這四種,但編程并不是只講特性。本書的獨特著眼點在于介紹了外界討論較少的一些高級編程技巧,尤其是模板元編程方面。這比起干巴巴地討論語言特性要有用得多。畢竟,參考資料我們從cppreference.com之類的網站上自己就能找到。
高手的心得并不常有。因此,本書的內容編排也不是基于語言特性,而更多是基于講解高級編程的邏輯順序。在講解了所有這些高級編程的基本概念之后(包括C++20的新特性),通過一章綜合運用,把知識點串到一起,展示了非常有意思的實際項目應用。學語言的關鍵(不管是編程語言,還是平時交流的語言)在于應用,因此這樣的講解是能夠真正展現現代C++威力的。基于對高級編程及其應用的深入理解,作者在講解相關的C++特性時,可謂得心應手、游刃有余。
限于時間,我雖然沒能深入其中所有的細節,但也已經從中感受到了作者對C++和編程的許多獨特見解。不夸張地說,我在閱讀中也學到了很多新東西。因此,我相信這本書對于C++相關的編程愛好者一定是有所裨益的——即使對編程老手都是如此。
吳詠煒 Boolan博覽首席技術咨詢師
- Expert C++
- 圖解Java數據結構與算法(微課視頻版)
- C/C++算法從菜鳥到達人
- 樂高機器人設計技巧:EV3結構設計與編程指導
- 零基礎學MQL:基于EA的自動化交易編程
- 3D少兒游戲編程(原書第2版)
- SAP BusinessObjects Dashboards 4.1 Cookbook
- Unity Game Development Scripting
- PHP 7從零基礎到項目實戰
- 深入解析Java編譯器:源碼剖析與實例詳解
- 計算機應用基礎(第二版)
- 黑莓(BlackBerry)開發從入門到精通
- Microsoft Exchange Server 2016 PowerShell Cookbook(Fourth Edition)
- JavaScript前端開發基礎教程
- PHP+MySQL Web應用開發教程