Practical C++ STL Programming: Real-World Applications with C++20 and C++23

Kusswurm, Daniel

  • 出版商: Apress
  • 出版日期: 2024-12-02
  • 售價: $3,440
  • 貴賓價: 9.5$3,268
  • 語言: 英文
  • 頁數: 950
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 9798868807732
  • ISBN-13: 9798868807732
  • 相關分類: C++ 程式語言
  • 尚未上市,無法訂購

相關主題

商品描述

Learn how to use the classes, algorithms, and other programming constructs of C++ STL. This comprehensive and practical guide covers a broad range of STL programming topics and highlights numerous programming constructs from the C++20 and C++23 standards.

Mastering use of STL can be daunting for both new and experienced C++ programmers. It doesn't help that the ISO C++ specification documents are meticulous and verbose. This book is organized to help you quickly understand C++ STL programming, focusing on the real-world aspects of its usage. Rather than spend time providing extensive explanations of the inner workings of STL, author Daniel Kusswurm judiciously explores these intricacies only when they advance the reader's understanding of a particular topic.

This book is accompanied by over 100 source code examples, designed to accelerate learning by emphasizing practical use cases. It coincides with the C++20 and C++23 standards and works with any OS platform that supports these standards including Windows (Visual C++), Linux (GNU C++) and macOS (clang). After reading Practical C++ STL Programming, you'll be able to exploit the computational capabilities of STL to implement a wide variety of software algorithms and solve unique programming challenges.

What You Will Learn

  • Explore STL capabilities, including how to generate formatted output, utilize sequence containers, apply utility classes, exploit smart pointers, manipulate associative containers, and exercise container adaptors.
  • Apply algorithms and iterators to perform a wide variety of container operations including sorts, searches, insertions, removals, and erasures.
  • Utilize ranges and range iterators, adaptors, views, compositions, projections, and factories.
  • Perform file and directory operations using STL's file system classes.
  • Execute chronological calculations and formatting using the time classes.
  • Employ STL's random number generation and distribution classes.
  • Implement numerical processing algorithms using STL's std:: valarray and std: complex classes.
  • Accelerate program performance using STL's concurrency classes and algorithm execution policies.

Who This Book Is For

Software developers and programmers who understand the basic syntax and semantics of C++ and want/need to learn how to use STL's classes and algorithms, or programmers who have experience using STL as specified by the C++11/14/17 standards and are interested in learning how to use the new STL classes and algorithms of C++20/23. Computer science/engineering students or hobbyists who want to learn about or better understand the capabilities of STL.

商品描述(中文翻譯)

學習如何使用 C++ STL 的類別、演算法和其他程式設計結構。本書是一部全面且實用的指南,涵蓋了廣泛的 STL 程式設計主題,並突顯了 C++20 和 C++23 標準中的多個程式設計結構。

對於新手和有經驗的 C++ 程式設計師來說,掌握 STL 的使用可能會令人感到困難。ISO C++ 規範文件的詳細和冗長也無助於此。本書的組織方式旨在幫助您快速理解 C++ STL 程式設計,專注於其實際使用的現實面向。作者 Daniel Kusswurm 明智地僅在有助於讀者理解特定主題時,才探討 STL 的內部運作,而不是花時間提供詳細的解釋。

本書附有超過 100 個源代碼範例,旨在通過強調實際使用案例來加速學習。它與 C++20 和 C++23 標準相符,並可在任何支持這些標準的作業系統平台上運行,包括 Windows(Visual C++)、Linux(GNU C++)和 macOS(clang)。閱讀《Practical C++ STL Programming》後,您將能夠利用 STL 的計算能力來實現各種軟體演算法並解決獨特的程式設計挑戰。

您將學到的內容:
- 探索 STL 的功能,包括如何生成格式化輸出、使用序列容器、應用工具類別、利用智能指標、操作關聯容器和使用容器適配器。
- 應用演算法和迭代器執行各種容器操作,包括排序、搜尋、插入、刪除和擦除。
- 利用範圍和範圍迭代器、適配器、視圖、組合、投影和工廠。
- 使用 STL 的檔案系統類別執行檔案和目錄操作。
- 使用時間類別執行時間計算和格式化。
- 使用 STL 的隨機數生成和分佈類別。
- 使用 STL 的 std::valarray 和 std::complex 類別實現數值處理演算法。
- 使用 STL 的並發類別和演算法執行策略加速程式性能。

本書適合對象:
對 C++ 的基本語法和語義有了解的軟體開發人員和程式設計師,想要或需要學習如何使用 STL 的類別和演算法,或是有使用 STL(根據 C++11/14/17 標準)經驗的程式設計師,並有興趣學習如何使用 C++20/23 的新 STL 類別和演算法。計算機科學/工程的學生或愛好者,想要了解或更好地理解 STL 的能力。

作者簡介

Daniel Kusswurm has 40+ years of professional experience as a software developer, computer scientist, and author. During his career, he has developed innovative software for medical devices, scientific instruments, and image processing applications. On many of these projects, he successfully utilized ISO C++ and the standard template libraries to create quality software and solve unique programming challenges. His educational background includes a BS in electrical engineering technology from Northern Illinois University along with an MS and PhD in computer science from DePaul University.

Kusswurm is the author multiple computer programming books including Modern X86 Assembly Language Programming (Third Edition), Modern Arm Assembly Language Programming, and Modern Parallel Programming with C++ and Assembly Language, all published by Apress.

作者簡介(中文翻譯)

Daniel Kusswurm 擁有超過 40 年的專業經驗,擔任軟體開發人員、計算機科學家和作者。在他的職業生涯中,他為醫療設備、科學儀器和影像處理應用程式開發了創新的軟體。在許多這些專案中,他成功地利用 ISO C++ 和標準模板庫來創建高品質的軟體並解決獨特的程式設計挑戰。他的教育背景包括在北伊利諾伊大學獲得電機工程技術學士學位,以及在德保羅大學獲得計算機科學碩士和博士學位。

Kusswurm 是多本計算機程式設計書籍的作者,包括《Modern X86 Assembly Language Programming》(第三版)、《Modern Arm Assembly Language Programming》和《Modern Parallel Programming with C++ and Assembly Language》,這些書籍均由 Apress 出版。