Modern C++23 QuickStart Pro: Advanced programming including variadic templates, lambdas, async IO, multithreading and thread sync
暫譯: 現代 C++23 快速入門專家:進階程式設計,包括可變參數模板、Lambda、非同步 I/O、多執行緒及執行緒同步

Thalor, Jarek

  • 出版商: Gitforgits
  • 出版日期: 2024-09-28
  • 售價: $2,540
  • 貴賓價: 9.5$2,413
  • 語言: 英文
  • 頁數: 290
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 8197416567
  • ISBN-13: 9788197416569
  • 相關分類: C++ 程式語言
  • 海外代購書籍(需單獨結帳)

商品描述

Learn the latest features of C++23 with Modern C++ 23 QuickStart Pro, the perfect book for experienced developers who want to expand their knowledge and skills. This book takes a hands-on approach, providing rapid learning through real-world examples and scenarios that address complex programming challenges in C++.


The book begins by demonstrating the power of variadic templates and how to use them for dynamic function signatures. After becoming familiar with fold expressions for argument handling, you will then explore std:: tuple and std:: variant for handling heterogeneous data. The book then covers advanced function morphing with parameter packs and shape-shifting lambdas, as well as dynamic programming techniques. It also teaches complex function overloading and high-level thread orchestration using futures, promises, and callables. Next, we'll go over some low-level IO operations, such as controlling IO streams, efficiently handling file descriptors, and directly manipulating files.


You will then learn how to optimize memory management with shared, unique, and weak pointers, and how to engineer memory performance with custom allocators and cache-aware programming. You will learn advanced synchronization, including atomic operations, mutexes, locks, and thread pools, as well as lock-free data structures for peak performance. In addition, this book covers optimal integer and floating-point operations, arbitrary precision arithmetic, precise rounding with fixed-point arithmetic, and high-performance computation using math constant integration.


Key Learnings

Utilize C++23 variadic templates for dynamic function signatures.

Use fold expressions to simplify complex function operations and argument handling.

Manage heterogeneous data in high-performance applications with std:: tuple and std:: variant.

Use parameter packs and perfect forwarding to create flexible function signatures.

Use shape-shifting lambdas for flexible argument patterns.

Master file manipulation and stream management to create efficient low-level IO systems.

Customize memory management with unique, shared, and weak pointers to control resources.

Boost parallel processing with mutexes, locks, and thread pools.

Create lock-free data structures to reduce locking overhead in concurrent systems.

Use mathematical constants and precise rounding to improve numerical computations.


Table of Content

Potential of Variadic Power in C++23

Morphing Functions and Lambdas

Taming Low-Level IO Operations

Mastering Buffering and Async IO

Outperforming Memory Management

Engineering Memory Performance

Advanced Multithreading for Experts

Thread Synchronization and Atomic Mastery

Turbocharging Floats and Ints

商品描述(中文翻譯)

學習 C++23 的最新特性,透過《現代 C++ 23 快速入門專業版》,這是一本適合有經驗的開發者擴展知識和技能的完美書籍。本書採取實作導向的方法,通過真實世界的範例和情境,快速學習解決 C++ 中複雜程式設計挑戰。

本書首先展示可變參數模板的強大功能,以及如何使用它們來處理動態函數簽名。在熟悉了用於參數處理的折疊表達式後,您將探索 std::tuple 和 std::variant 以處理異質數據。接著,本書涵蓋了使用參數包和形狀變換的 lambda 進行高級函數變形,以及動態程式設計技術。它還教授複雜的函數重載和使用 futures、promises 和可調用對象進行高級線程協調。接下來,我們將介紹一些低級 IO 操作,例如控制 IO 流、高效處理文件描述符和直接操作文件。

然後,您將學習如何使用共享、唯一和弱指針來優化記憶體管理,以及如何通過自定義分配器和快取感知編程來提升記憶體性能。您將學習高級同步,包括原子操作、互斥鎖、鎖和線程池,以及為了達到最佳性能而設計的無鎖數據結構。此外,本書還涵蓋最佳的整數和浮點運算、任意精度算術、使用定點算術進行精確四捨五入,以及利用數學常數整合進行高性能計算。

關鍵學習
- 利用 C++23 的可變參數模板來處理動態函數簽名。
- 使用折疊表達式簡化複雜的函數操作和參數處理。
- 使用 std::tuple 和 std::variant 在高性能應用中管理異質數據。
- 使用參數包和完美轉發來創建靈活的函數簽名。
- 使用形狀變換的 lambda 來實現靈活的參數模式。
- 精通文件操作和流管理,以創建高效的低級 IO 系統。
- 使用唯一、共享和弱指針自定義記憶體管理以控制資源。
- 通過互斥鎖、鎖和線程池提升並行處理能力。
- 創建無鎖數據結構以減少並發系統中的鎖定開銷。
- 使用數學常數和精確四捨五入來改善數值計算。

目錄
- C++23 中可變參數的潛力
- 函數和 Lambda 的變形
- 駕馭低級 IO 操作
- 精通緩衝和異步 IO
- 超越記憶體管理
- 設計記憶體性能
- 專家的高級多線程
- 線程同步和原子操作精通
- 加速浮點數和整數