Expert C++ (專家級 C++)

Vardan Grigoryan , Shunguang Wu

  • 出版商: Packt Publishing
  • 出版日期: 2020-04-10
  • 售價: $1,810
  • 貴賓價: 9.5$1,720
  • 語言: 英文
  • 頁數: 606
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1838552650
  • ISBN-13: 9781838552657
  • 相關分類: C++ 程式語言
  • 已過版

買這商品的人也買了...

相關主題

商品描述

Design and architect real-world scalable C++ applications by exploring advanced techniques in low-level programming, object-oriented programming (OOP), the Standard Template Library (STL), metaprogramming, and concurrency

Key Features

  • Design professional-grade, maintainable apps by learning advanced concepts such as functional programming, templates, and networking
  • Apply design patterns and best practices to solve real-world problems
  • Improve the performance of your projects by designing concurrent data structures and algorithms

Book Description

C++ has evolved over the years and the latest release – C++20 – is now available. Since C++11, C++ has been constantly enhancing the language feature set. With the new version, you’ll explore an array of features such as concepts, modules, ranges, and coroutines. This book will be your guide to learning the intricacies of the language, techniques, C++ tools, and the new features introduced in C++20, while also helping you apply these when building modern and resilient software.

You’ll start by exploring the latest features of C++, and then move on to advanced techniques such as multithreading, concurrency, debugging, monitoring, and high-performance programming. The book will delve into object-oriented programming principles and the C++ Standard Template Library, and even show you how to create custom templates. After this, you’ll learn about different approaches such as test-driven development (TDD), behavior-driven development (BDD), and domain-driven design (DDD), before taking a look at the coding best practices and design patterns essential for building professional-grade applications. Toward the end of the book, you will gain useful insights into the recent C++ advancements in AI and machine learning.

By the end of this C++ programming book, you’ll have gained expertise in real-world application development, including the process of designing complex software.

What you will learn

  • Understand memory management and low-level programming in C++ to write secure and stable applications
  • Discover the latest C++20 features such as modules, concepts, ranges, and coroutines
  • Understand debugging and testing techniques and reduce issues in your programs
  • Design and implement GUI applications using Qt5
  • Use multithreading and concurrency to make your programs run faster
  • Develop high-end games by using the object-oriented capabilities of C++
  • Explore AI and machine learning concepts with C++

Who this book is for

This C++ book is for experienced C++ developers who are looking to take their knowledge to the next level and perfect their skills in building professional-grade applications.

商品描述(中文翻譯)

設計和架構真實世界的可擴展C++應用程序,通過探索低級編程、面向對象編程(OOP)、標準模板庫(STL)、元編程和並發等高級技術。

主要特點:

- 通過學習函數式編程、模板和網絡等高級概念,設計專業級、可維護的應用程序。
- 應用設計模式和最佳實踐來解決現實世界問題。
- 通過設計並發數據結構和算法來提高項目的性能。

書籍描述:

C++在多年的發展中不斷演進,最新版本C++20現已推出。自從C++11以來,C++一直在不斷增強語言特性。在新版本中,您將探索各種功能,如概念、模塊、範圍和協程。本書將引導您學習語言的細微差別、技術、C++工具以及C++20中引入的新功能,同時幫助您在構建現代且具有彈性的軟件時應用這些知識。

您將首先探索C++的最新功能,然後深入研究高級技術,如多線程、並發、調試、監控和高性能編程。本書將深入介紹面向對象編程原則和C++標準模板庫,甚至向您展示如何創建自定義模板。在此之後,您將學習不同的方法,如測試驅動開發(TDD)、行為驅動開發(BDD)和領域驅動設計(DDD),然後研究構建專業級應用程序所必需的編碼最佳實踐和設計模式。在本書的最後,您將獲得有關AI和機器學習中最新C++進展的有用見解。

通過閱讀本書,您將獲得在實際應用程序開發中的專業知識,包括設計複雜軟件的過程。

您將學到什麼:

- 瞭解C++中的內存管理和低級編程,以編寫安全穩定的應用程序。
- 探索最新的C++20功能,如模塊、概念、範圍和協程。
- 瞭解調試和測試技術,減少程序中的問題。
- 使用Qt5設計和實現GUI應用程序。
- 使用多線程和並發使程序運行更快。
- 利用C++的面向對象能力開發高端遊戲。
- 用C++探索AI和機器學習概念。

本書適合對象:

本書適合有經驗的C++開發人員,他們希望將自己的知識提升到更高的水平,並完善在構建專業級應用程序方面的技能。

作者簡介

Vardan Grigoryan is a senior backend engineer and C++ developer with more than 9 years of experience. Vardan started his career as a C++ developer and then moved to the world of server-side backend development. While being involved in designing scalable backend architectures, he always tries to incorporate the use of C++ in critical sections that require the fastest execution time. Vardan loves tackling computer systems and program structures on a deeper level. He believes that true excellence in programming can be achieved by means of a detailed analysis of existing solutions and by designing complex systems.

Shunguang Wu is a senior professional staff at Johns Hopkins University Applied Physics Laboratory, and received his PhDs in theoretical physics and electrical engineering from Northwestern University (China) and Wright State University (USA), respectively. He published about 50 reviewed journal papers in the area of nonlinear dynamics, statistical signal processing and computer vision in his early career. His professional C++ experience started with teaching undergraduate courses in the late 1990s. Since then he has been designing and developing lots of R&D and end-user application software using C++ in world-class academic and industrial laboratories. These projects span both the Windows and Linux platforms.

作者簡介(中文翻譯)

Vardan Grigoryan 是一位資深的後端工程師和 C++ 開發人員,擁有超過 9 年的經驗。Vardan 的職業生涯始於 C++ 開發人員,後來轉向伺服器端後端開發領域。在參與設計可擴展的後端架構時,他總是試圖在需要最快執行時間的關鍵部分中使用 C++。Vardan 熱衷於深入研究計算機系統和程式結構。他相信,通過對現有解決方案進行詳細分析並設計複雜系統,可以實現真正的程式設計卓越。

Shunguang Wu 是約翰霍普金斯大學應用物理實驗室的高級專業人員,並分別在西北大學(中國)和萊特州立大學(美國)獲得理論物理和電機工程的博士學位。他在早期職業生涯中在非線性動力學、統計信號處理和計算機視覺領域發表了約 50 篇經過審查的期刊論文。他的 C++ 專業經驗始於 1990 年代末教授本科課程。從那時起,他一直在世界一流的學術和工業實驗室中使用 C++ 設計和開發了大量的研發和最終用戶應用軟件。這些項目涵蓋了 Windows 和 Linux 平台。

目錄大綱

  1. Introduction to Building C++ Applications
  2. Low-Level Programming with C++
  3. Details of Object-Oriented Programming
  4. Understanding and Designing Templates
  5. Memory Management and Smart Pointers
  6. Digging into Data Structures and Algorithms in STL
  7. Functional Programming
  8. Concurrency and Multithreading
  9. Designing Concurrent Data Structures
  10. Designing World-Ready Applications
  11. Designing a Strategy Game Using Design Patterns
  12. Networking and Security
  13. Debugging and Testing
  14. Graphical User Interface with Qt
  15. Using C++ in Machine Learning Tasks
  16. Implementing a Dialog-Based Search Engine

目錄大綱(中文翻譯)


  • 建立 C++ 應用程式入門

  • 使用 C++ 進行低階程式設計

  • 物件導向程式設計的細節

  • 理解並設計範本

  • 記憶體管理與智慧指標

  • 深入探討 STL 中的資料結構與演算法

  • 函數式程式設計

  • 並行處理與多執行緒

  • 設計並行資料結構

  • 設計適應全球的應用程式

  • 使用設計模式設計策略遊戲

  • 網路與安全

  • 除錯與測試

  • 使用 Qt 建立圖形使用者介面

  • 在機器學習任務中使用 C++

  • 實作基於對話框的搜尋引擎