Accelerated C++ : Practical Programming by Example (C++ In-depth Series)

個数:

Accelerated C++ : Practical Programming by Example (C++ In-depth Series)

  • 在庫がございません。海外の書籍取次会社を通じて出版社等からお取り寄せいたします。
    通常6~9週間ほどで発送の見込みですが、商品によってはさらに時間がかかることもございます。
    重要ご説明事項
    1. 納期遅延や、ご入手不能となる場合がございます。
    2. 複数冊ご注文の場合、分割発送となる場合がございます。
    3. 美品のご指定は承りかねます。
  • 【入荷遅延について】
    世界情勢の影響により、海外からお取り寄せとなる洋書・洋古書の入荷が、表示している標準的な納期よりも遅延する場合がございます。
    おそれいりますが、あらかじめご了承くださいますようお願い申し上げます。
  • ◆画像の表紙や帯等は実物とは異なる場合があります。
  • ◆ウェブストアでの洋書販売価格は、弊社店舗等での販売価格とは異なります。
    また、洋書販売価格は、ご注文確定時点での日本円価格となります。
    ご注文確定後に、同じ洋書の販売価格が変動しても、それは反映されません。
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 352 p.
  • 言語 ENG
  • 商品コード 9780201703535
  • DDC分類 005.133

Full Description

Want to learn how to program in C++ immediately? Want to start writing better, more powerful C++ programs today? Accelerated C++'s uniquely modern approach will help you learn faster and more fluently than you ever believed possible. Based on the authors' intensive summer C++ courses at Stanford University, Accelerated C++ covers virtually every concept that most professional C++ programmers will ever use -- but it turns the "traditional" C++ curriculum upside down, starting with the high-level C++ data structures and algorithms that let you write robust programs immediately. Once you're getting results, Accelerated C++ takes you "under the hood," introducing complex language features such as memory management in context, and explaining exactly how and when to use them. From start to finish, the book concentrates on solving problems, rather than learning language and library features for their own sake. The result: You'll be writing real-world programs in no time -- and outstanding code faster than you ever imagined.

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