Accelerated C++: Practical Programming by Example (Paperback)(dhl)
暫譯: 加速 C++:實用範例程式設計 (平裝本)

Andrew Koenig, Barbara E. Moo

  • 出版商: Addison Wesley
  • 出版日期: 2000-09-18
  • 售價: $1,990
  • 貴賓價: 9.5$1,891
  • 語言: 英文
  • 頁數: 352
  • 裝訂: Paperback
  • ISBN: 020170353X
  • ISBN-13: 9780201703535
  • 相關分類: C++ 程式語言
  • 無法訂購

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

相關主題

商品描述

 

Description

 

Accelerated C++ introduces a radical new approach to teaching C++. It starts with the most useful concepts rather than the most primitive ones, so the student can begin writing programs immediately. It describes real problems and solutions, not just language features. And it includes the standard library from the start. The authors proved the effectiveness of this approach in their courses at Stanford and Princeton, where their students learned to write substantial programs their first day in the classroom.

Back to Top


Appropriate Courses

C++--Intermediate Programming.

Back to Top

 

Table Of Contents

 

Preface.
0. Getting Started.

 

Comments.
#include.
The Main Function.
Curly Braces.
Using the Standard Library for Output.
The Return Statement.
A Slightly Deeper Look.
Details.


1. Working with Strings.

 

Input.
Framing a Name.
Details.


2. Looping and Counting.

 

 

The Problem.
Overall Structure.
Writing an Unknown Number of Rows.
Writing a Row.
The Complete Framing Program.
Counting.
Details.


3. Working with Batches of Data.

 

 

Computing Student Grades.
Using Medians Instead of Averages.
Details.


4.Organizing Programs and Data.

 

 

Organizing computations.
Organizing Data.
Putting it All Together.
Partitioning the Grading Program.
The Revised Grading Program.
Details.


5. Using Sequential Containers and Analyzing Strings.

 

 

Separating Students into Categories.
Iterators.
Using Iterators Instead of Indices.
Rethinking Our Data Structure for Better Performance.
The List Type.
Taking Strings Apart.
Testing Our Split Function.
Putting Strings Together.
Details.


6. Using Library Algorithms.

 

 

Analyzing Strings.
Comparing Grading Schemes.
Classifying Students, Revisited.
Algorithms, Containers, and Iterators.
Details.


7. Using Associative Containers.

 

 

Containers that Support Efficient Look-Up.
Counting Words.
Generating a Cross-Reference Table.
Generating Sentences.
A Note on Performance.
Details.


8. Writing Generic Functions.

 

 

What is a Generic Function?
Data-Structure Independence.
Input and Output Iterators.
Using Iterators for Flexibility.
Details.


9. Defining New Types.

 

 

Student_info revisited.
Class Types.
Protection.
The Student_info class.
Constructors.
Using the Student_info class.
Details.


10. Managing Memory and Low-Level Data Structures.

 

 

Pointers and Arrays.
String Literals Revisited.
Initializing Arrays of Character Pointers.
Arguments to Main.
Reading and Writing Files.
Three Kinds of Memory Management.
Details.


11. Defining Abstract Data Types.

 

 

The Vec Class.
Implementing the Vec Class.
Copy Control.
Dynamic Vecs.
Flexible Memory Management.
Details.


12. Making Class Objects Act Like Values.

 

 

A Simple String Class.
Automatic Conversions.
Str Operations.
Some Conversions are Hazardous.
Conversion Operators.
Conversions and Memory Management.
Details.


13. Using Inheritance and Dynamic Binding.

 

 

Inheritance.
Polymorphism and Virtual Functions.
Using Inheritance to Solve Our Problem.
A Simple Handle Class.
Using the Handle Class.
Subtleties.
Details.


14. Managing Memory (Almost) Automatically.

 

 

Handles that Copy their Objects.
Reference-Counted Handles.
Handles that Let you Decide When to Share Data.
An Improvement on Controllable Handles.
Details.


15. Revisiting Character Pictures.

 

 

Design.
Implementation.
Details.


16. Where Do We Go From Here?

 

 

Use the Abstractions You Have.
Learn More.


Appendix A. Language Details.

 

 

Declarations.
Types.
Expressions.
Statements.


Appendix B. Library Summary.

 

 

Input-Output.
Containers and Iterators.
Algorithms.


Index. 020170353XT04062001


Back to Top

 

 

商品描述(中文翻譯)

描述

《Accelerated C++》介紹了一種全新的教學C++的方法。它從最有用的概念開始,而不是最原始的概念,讓學生能夠立即開始編寫程式。它描述了真實的問題和解決方案,而不僅僅是語言特性。並且從一開始就包含了標準庫。作者在斯坦福和普林斯頓的課程中證明了這種方法的有效性,學生們在第一天上課時就學會了編寫實質性的程式。

適合的課程

C++--中級程式設計。

目錄

前言。
0. 開始使用。

註解。
#include。
主函數。
大括號。
使用標準庫進行輸出。
返回語句。
稍微深入的探討。
細節。

1. 字串操作。

輸入。
框架名稱。
細節。

2. 迴圈與計數。

問題。
整體結構。
寫入未知數量的行。
寫入一行。
完整的框架程式。
計數。
細節。

3. 批次資料處理。

計算學生成績。
使用中位數而非平均數。
細節。

4. 組織程式與資料。

組織計算。
組織資料。
整合所有內容。
分割成績程式。
修訂後的成績程式。
細節。

5. 使用順序容器與分析字串。

將學生分為類別。
迭代器。
使用迭代器而非索引。
重新思考我們的資料結構以獲得更好的效能。
列表類型。
拆解字串。
測試我們的拆分函數。
組合字串。
細節。

6. 使用庫算法。

分析字串。
比較成績方案。
重新檢視學生分類。
算法、容器與迭代器。
細節。

7. 使用關聯容器。

支持高效查找的容器。
計數單詞。
生成交叉參考表。
生成句子。
性能注意事項。
細節。

8. 編寫通用函數。

什麼是通用函數?
資料結構獨立性。
輸入與輸出迭代器。
使用迭代器以獲得靈活性。
細節。

9. 定義新類型。

重新檢視 Student_info。
類別類型。
保護。
Student_info 類別。
建構函數。
使用 Student_info 類別。
細節。

10. 管理記憶體與低階資料結構。

指標與陣列。
重新檢視字串字面量。
初始化字元指標的陣列。
主函數的參數。
讀取與寫入檔案。
三種記憶體管理。
細節。

11. 定義抽象資料類型。

Vec 類別。
實作 Vec 類別。
複製控制。
動態 Vec。
靈活的記憶體管理。
細節。

12. 使類別物件像值一樣運作。

簡單的字串類別。
自動轉換。
字串操作。
某些轉換是危險的。
轉換運算子。
轉換與記憶體管理。
細節。

13. 使用繼承與動態綁定。

繼承。
多型與虛擬函數。
使用繼承解決我們的問題。
簡單的句柄類別。
使用句柄類別。
微妙之處。
細節。

14. (幾乎)自動管理記憶體。

複製其物件的句柄。
引用計數句柄。
讓你決定何時共享資料的句柄。
可控句柄的改進。
細節。

15. 重新檢視字元圖片。

設計。
實作。
細節。

16. 接下來我們該怎麼做?

使用你擁有的抽象。
學習更多。

附錄 A. 語言細節。

宣告。
類型。
表達式。
語句。

附錄 B. 庫摘要。

輸入輸出。
容器與迭代器。
算法。

索引. 020170353XT04062001