search for books and compare prices
Tables of Contents for C & C++ Code Capsules
Chapter/Section Title
Page #
Page Count
Foreword
xiii
2
Bruce Eckel
Preface
xv
 
C++: The Making of a Standard An Interview with Bjarne Stroustrup
1
8
Part I Preliminaries
9
150
1 A Better C
11
29
A Tale of Two Languages
11
1
Incremental Journey
12
1
The Type System
12
1
Function Prototypes
13
4
Type-safe Linkage
17
2
References
19
1
Type-safe I/O
20
1
Standard Streams
21
3
Formatting
24
5
Manipulators
29
3
Function Overloading and Function Templates
32
1
Operator Overloading
32
2
Inline Functions
34
1
Default Arguments
35
1
new and delete
36
1
Statement Declarations
37
1
Standard Library Features
38
1
C Compatibility
38
2
Summary
40
1
2 Pointers
40
39
Programming on the Edge
40
1
The Basics
40
4
Pointer Arithmetic
44
4
Pass-By-Reference Semantics
48
1
Generic Pointers
49
1
const Pointers
50
2
Pointers and One-Dimensional Arrays
52
4
Arrays as Parameters
56
3
Arrays of Strings
59
3
Pointers and Multidimensional Arrays
62
2
Higher and Deeper
64
4
Pointers to Functions
68
3
Pointers to Member Functions
71
2
Encapsulation and Incomplete Types
73
5
Summary
78
1
3 The Preprocessor
79
19
The #include Directive
79
1
Other Preprocessor Directives
80
3
Predefined Macros
83
2
Conditional Compilation
85
1
Preprocessing Operators
86
2
Implementing assert
88
1
Macro Magic
89
4
Character Sets, Trigraphs, and Digraphs
93
3
Phases of Translation
96
1
Summary
97
1
4 The Standard C Library, Part I
98
20
For the Adequate Programmer
99
19
[ctype.h]
99
3
[stdio.h]
102
7
[stdlib.h]
109
6
[string.h]
115
3
5 The Standard C Library, Part II
118
13
For the Polished Programmer
118
9
[assert.h]
118
1
[limits.h]
119
3
[stddef.h]
122
3
[time.h]
125
2
Appendix 5.1: Character Sets
127
4
Code Pages
129
1
Character Set Standards
130
1
ISO 10646
130
1
Unicode
131
1
6 The Standard C Library, Part III
131
28
For the Complete Programmer
132
14
[float.h]
132
1
[math.h]
132
6
[errno.h]
138
1
[locale.h]
138
2
[setjmp.h]
140
2
[signal.h]
142
1
[stdarg.h]
142
1
va_list's As Arguments
143
3
An Application
146
4
Conclusion
150
1
Appendix 6.1: Floating-point Number Systems
151
8
Part II Key Concepts
159
222
7 Abstraction
161
24
Data Abstraction
161
7
Operator Overloading
168
5
Concrete Data Types
173
7
Type Abstraction
180
1
Function Abstraction
181
3
Summary
184
1
8 Templates
185
17
Generic Programming
187
1
Function Templates
187
2
Class Templates
189
5
Template Parameters
194
2
Template Specialization
196
3
Summary
199
3
9 Bit Manipulation
202
27
Bitwise Operators
202
2
Accessing Individual Bits
204
5
Large Bitsets
209
15
Bit Strings
224
1
Wish List
224
1
The bitset Template
224
3
The vector[bool]Template Specialization
227
1
Summary
228
1
10 Conversions and Casts
229
26
Integral Promotion
229
4
Demotions
233
2
Arithmetic Conversions
235
2
Function Prototypes
237
2
Explicit Conversions
239
1
Function-style Casts
240
1
Const Correctness
240
3
User-Defined Conversions
243
6
Beefing up operator[]
249
3
New-Style Casts
252
1
Summary
253
2
11 Visibility
255
28
What's In a Name?
255
1
Scope
255
3
Minimal Scoping
258
1
Class Scope
259
6
Nested Classes
265
1
Local Classes
266
3
Classic Namespaces
268
1
Namespace Scope
269
3
Lifetime
272
3
Lifetime of Temporaries
275
1
Linkage
276
4
Type-safe Linkage
280
1
"Language" Linkage
281
1
Summary
281
2
12 Control Structures
283
23
Structured Programming
283
7
Branching
290
6
Nonlocal Branching
296
4
Signals
300
5
Summary
305
1
References
305
1
13 Exceptions
306
32
Error Handling Alternatives
306
8
Stack Unwinding
314
2
Catching Exceptions
316
2
Standard Exceptions
318
4
Resource Management
322
1
Constructors and Exceptions
322
8
Memory Management
330
1
Exception Specifications
331
2
An Error-Handling Strategy
333
4
Summary
337
1
14 Object-oriented Programming
338
43
Inheritance
342
1
Heterogeneous Collections
343
1
Virtual Functions and Polymorphism
344
3
Abstract Base Classes
347
3
Case Study: A Framework for Object Persistence
350
3
Database Access
353
1
Mapping Objects to Relational Schema
354
2
PFX Architecture
356
3
A Code Walkthrough
359
20
Summary
379
2
Part III Leveraging the Standard Library
381
166
15 Algorithms
383
15
Complexity
386
2
Generic Algorithms
388
4
Function Objects
392
2
Function Taxonomy
394
1
Function Object Adapters
395
1
Algorithm Taxonomy
396
3
Summary
399
1
References
399
 
16 Containers and Iterators
398
23
Standard Containers
401
1
Iterators
402
1
Iterator Taxonomy
403
2
Special-Purpose Iterators
405
3
Container Adapters
408
1
Associative Containers
409
1
Applications
409
8
Non-STL Containers
417
2
Summary
419
2
17 Text Processing
421
22
scanf
421
6
printf
427
2
Substrings
429
7
The Standard C++ String Class
436
4
String Streams
440
1
Wide Strings
441
1
Summary
442
1
18 File Processing
443
29
Filters
443
3
Binary Files
446
2
Record Processing
448
6
Temporary Files
454
1
Portability
455
1
POSIX
455
1
File Descriptors
456
1
Copying Files via Descriptors
456
2
Reading Directory Entries
458
4
Redirecting Standard Error
462
4
Encapsulating Directory Operations
466
5
Summary
471
1
19 Time and Date Processing
472
51
Julian Day Encoding
475
20
Date Classes for Real Work
495
26
Calculating the Week of the Year
521
1
Summary
522
1
Reference
522
1
20 Dynamic Memory Management
523
24
Ragged Arrays
523
2
Using the Heap in Standard C
525
4
The C++ Free Store
529
1
Deep versus Shallow Copy
530
3
Handling Memory Allocation Failure
533
1
Overriding new and delete
534
1
Placement new
535
3
Managing the Heap
538
1
Avoiding Memory Management
539
7
Summary
546
1
Appendices
547
18
A C/C++ Compatibility
547
2
B Standard C++ Algorithms
549
9
C Function Objects and Adapters
558
3
Function Objects
558
2
Function Object Adapters
560
1
D Annotated Bibliography
561
4
The C Practitioner's Booklist
561
1
The C++ Practitioner's Booklist
562
3
Index
565