Programming:Principles and Practice Using C++, 3/e (繁體中文版)

Bjarne Stroustrup 著 黃銘偉 譯

  • Programming:Principles and Practice Using C++, 3/e  (繁體中文版)-preview-1
  • Programming:Principles and Practice Using C++, 3/e  (繁體中文版)-preview-2
  • Programming:Principles and Practice Using C++, 3/e  (繁體中文版)-preview-3
  • Programming:Principles and Practice Using C++, 3/e  (繁體中文版)-preview-4
  • Programming:Principles and Practice Using C++, 3/e  (繁體中文版)-preview-5
  • Programming:Principles and Practice Using C++, 3/e  (繁體中文版)-preview-6
  • Programming:Principles and Practice Using C++, 3/e  (繁體中文版)-preview-7
  • Programming:Principles and Practice Using C++, 3/e  (繁體中文版)-preview-8
  • Programming:Principles and Practice Using C++, 3/e  (繁體中文版)-preview-9
Programming:Principles and Practice Using C++, 3/e  (繁體中文版)-preview-1

商品描述

🏆 跟著 C++之父學程式設計

本書將幫助讀者掌握程式設計的基本原理,並培養實務上所需的開發技能。本書前幾版已成功陪伴數以千計的學子踏上程式設計之路。此次經過修訂與更新,內容更加完善。

■ 讓您編寫出他人也能使用與維護的優質程式。
■ 著重於基本概念和技巧,而非晦澀難懂的語言技術細節。
■ 不只是C++的語言入門,更是針對整體程式設計的導論,包括程序式、物件導向和泛型程式設計。
■ 涵蓋當代的高階技巧,以及有效利用硬體所需的低階技巧。
■ 為您提供堅實基礎,得以撰寫出實用、正確、具有型別安全性、可維護和高效率的程式碼。
■ 主要為從未寫過程式的人所設計,但即使是經驗豐富的程式設計師也認為本書是精進概念與技巧的絕佳參考。
■ 涵蓋廣泛的基本概念、設計和程式設計技巧、語言功能和程式庫。
■ 使用現代C++(C++20 和 C++23)。
■ 詳細介紹內建型別和使用者定義型別的設計與使用,包括輸入、輸出、計算和簡單的圖形繪製與GUI。
■ 提供C++標準程式庫容器和演算法的入門介紹。
■ 書中範例程式與練習題旨在強化學習與實作能力,本書無提供程式碼下載與書中習題解答。

作者簡介

Bjarne Stroustrup 是C++的設計者和原始實作者,著有《The C++ Programming Language (第4版)》、《A Tour of C++ (第3版)》以及許多廣受歡迎的專業與學術出版物。現任紐約市哥倫比亞大學的電腦科學教授。
Stroustrup博士是美國國家工程院院士,同時也是IEEE、ACM和CHM的會士。他曾獲頒2018年Charles Stark Draper Prize、IEEE電腦學會2018年Computer Pioneer Award,以及2017年的IET Faraday Medal。

目錄大綱

chapter 0 讀者須知
 0.1 本書結構
 0.2 教學理念
 0.3 ISO 標準的 C++
 0.4 PPP 支援
 0.5 作者簡介
 0.6 參考書目

【Part Ⅰ 基礎知識】
chapter 1 Hello, World!
 1.1 程式
 1.2 經典的第一個程式
 1.3 編譯
 1.4 連結
 1.5 程式設計環境

chapter 2 物件、型別與值
 2.1 輸入
 2.2 變數
 2.3 輸入與型別
 2.4 運算和運算子
 2.5 指定和初始化
 2.6 名稱
 2.7 型別與物件
 2.8 型別安全性
 2.9 轉換
 2.10 型別推論:auto

chapter 3 計算
 3.1 計算
 3.2 目標與工具
 3.3 運算式
 3.4 述句
 3.5 函式
 3.6 vector
 3.7 語言功能

chapter 4 錯誤!
 4.1 簡介
 4.2 錯誤的來源
 4.3 編譯時期錯誤
 4.4 連結時期錯誤
 4.5 執行時期錯誤
 4.6 例外
 4.7 避免錯誤和找出錯誤

chapter 5 撰寫程式
 5.1 提出問題
 5.2 思考問題
 5.3 回到計算器本身!
 5.4 重新構思
 5.5 將文法轉化為程式碼
 5.6 嘗試第一個版本
 5.7 嘗試第二個版本
 5.8 語彙單元串流
 5.9 程式結構

chapter 6 完成一個程式
 6.1 簡介
 6.2 輸入和輸出
 6.3 錯誤處理
 6.4 負數
 6.5 餘數:%
 6.6 清理程式碼
 6.7 從錯誤中復原
 6.8 變數

chapter 7 技術細節:函式
 7.1 技術細節
 7.2 宣告和定義
 7.3 範疇
 7.4 函式呼叫和回傳
 7.5 估算順序
 7.6 命名空間
 7.7 模組和標頭

chapter 8 技術細節:類別
 8.1 使用者定義的型別
 8.2 類別與成員
 8.3 介面和實作
 8.4 演進一個類別:Date
 8.5 列舉
 8.6 運算子重載
 8.7 類別介面

【Part II 輸入和輸出】
chapter 9 輸入和輸出串流
 9.1 輸入和輸出
 9.2 I/O 串流模型
 9.3 檔案
 9.4 I/O 錯誤處理
 9.5 讀取單一個值
 9.6 使用者定義的輸出運算子
 9.7 使用者定義的輸入運算子
 9.8 標準的輸入迴圈
 9.9 讀取結構化的檔案
 9.10 格式化
 9.11 字串串流

chapter 10 顯示器模型
 10.1 為什麼要做圖形處理?
 10.2 一種顯示器模型
 10.3 第一個範例
 10.4 使用 GUI 程式庫
 10.5 座標
 10.6 Shape
 10.7 使用 Shape 基元
 10.8 讓第一個範例執行起來

chapter 11 圖形類別
 11.1 圖形類別概述
 11.2 Point 和 Line
 11.3 Lines
 11.4 Color
 11.5 Line_style
 11.6 折線
 11.7 封閉形狀
 11.8 Text
 11.9 Mark
 11.10 Image

chapter 12 類別設計
 12.1 設計原則
 12.2 Shape
 12.3 基礎和衍生類別
 12.4 其他的 Shape 函式
 12.5 物件導向程式設計的好處

chapter 13 函式和資料的圖形化
 13.1 簡介
 13.2 簡單函式的圖形化
 13.3 Function
 13.4 Axis
 13.5 近似
 13.6 資料的圖形化

chapter 14 圖形使用者介面
 14.1 使用者介面的替代選擇
 14.2 「Next」按鈕
 14.3 簡單的視窗
 14.4 Button 和其他的 Widget
 14.5 範例:繪製線條
 14.6 簡單的動畫
 14.7 GUI 程式碼的除錯

【Part III 資料和演算法】
chapter 15 向量和自由儲存區
 15.1 簡介
 15.2 vector 的基礎知識
 15.3 記憶體、位址和指標
 15.4 自由儲存區和指標
 15.5 解構器
 15.6 存取元素
 15.7 範例:串列
 15.8 this 指標

chapter 16 陣列、指標和參考
 16.1 陣列
 16.2 指標和參考
 16.3 C 式字串
 16.4 指標的替代方案
 16.5 範例:迴文

chapter 17 基本運算
 17.1 簡介
 17.2 存取元素
 17.3 串列初始化
 17.4 拷貝與移動
 17.5 基本運算
 17.6 其他實用的運算
 17.7 剩餘的 Vector 問題
 17.8 改變大小
 17.9 我們目前的 Vector

chapter 18 樣板和例外
 18.1 樣板
 18.2 一般化 Vector
 18.3 範圍檢查和例外
 18.4 資源和例外
 18.5 資源管理指標

chapter 19 容器和迭代器
 19.1 儲存和處理資料
 19.2 序列和迭代器
 19.3 連結串列
 19.4 再次一般化 Vector
 19.5 範例:簡單的文字編輯器
 19.6 vector、list 和 string

chapter 20 映射與集合
 20.1 關聯式容器
 20.2 map
 20.3 unordered_map
 20.4 計時
 20.5 set
 20.6 容器概述
 20.7 範圍與迭代器

chapter 21 演算法
 21.1 標準程式庫演算法
 21.2 函式物件
 21.3 數值演算法
 21.4 拷貝
 21.5 排序與搜尋

索引