boilerplate code 24, 235
bool type, concepts 13 –14, 16, 19 –20, 32 –3, 38, 212 –13, 328 –9
boolalpha 152 –5
boolean expressions, concepts 44 –60 boolean operators, concepts 38 Boost Spirit Library 289, 325 Borland xx
bound objects 35, 40 Bourget, Jean-Marc 328 Bradley, David 337
break 14, 20 –2, 30 –1, 43, 45 –7, 52 –3, 58 –9, 67, 230, 241 –2, 290 –1, 313
see also switch. . .
buffer-overruns xx, 41, 199 arrays 41, 199
build (F7 key) 8 built-in types
arrays 196 –9 concepts xxiv, 196 –9
C# xiv, xv, xvii–xviii, xxiv, 17, 21 C++
see also functions; source code; Standard Library
BASIC contrasts xix, 41, 53, 79
Ccontrasts xiii–xiv, xv, xvi–xvii, xx, xxiii, 6, 21, 35, 40, 122, 135 –6, 156, 169, 191, 193 –4, 199 –200, 277, 305 –21
changes xiii, xiv–xv, xvi, 305 –21, 330, 333 COBOL contrasts xviii
complexity 135 –6, 161, 193, 222 –3, 305 concepts xi, xiii–xxi, 6 –11, 13 –40, 75, 109,
131, 135 –6, 140 –1, 147 –8, 191, 211, 275, 277, 283 –4, 289 –90, 305 –21, 323 –39
containers xvi, 42 –3, 53 –6, 58 –9, 60, 69 –71, 73, 84 –6, 109 –31, 245 –6, 289 –303, 329, 335
critique xi, xiii–xxi, 13 –40, 109, 131, 135 –6, 140 –1, 147 –8, 191, 193 –4, 211, 275, 277, 283 –4, 289 –90, 305 –21, 323 –39
declaration complexities 135 –6, 161, 305 evolutionary developments xiii, xiv–xv, xvi, 131,
135 –6, 147, 305, 330, 333
exceptions xvi, 21 –9, 42 –3, 80 –1, 84 –93, 110 –31, 165 –7, 201 –2, 251, 265 –76
features xiii–xiv, xxi, 13 –40, 109, 131, 147 –8, 211, 275, 277, 283 –4, 289 –90, 323 –39
historical background xiii, 147, 305 –21 idioms 51 –2, 120 –1, 164 –5, 193 –4, 273 –4 inheritance 211 –28, 321, 327, 338
ISO standards xiii, xiv–xv, 32
iterators 51, 122 –31, 193, 289 –303
Java contrasts xvii, 13, 17, 18, 21, 45, 78 –9, 122, 147, 275
learning xiii–xxi, xxiii–xxvi, 1, 76, 305 –21, 323 –39
legacy code 305 –21
loops 13, 19, 20 –2, 26 –9, 30, 41 –2, 48 –60, 141 –2
names 3 –4, 7, 9 –10, 18 –19, 56, 61 –73, 76, 83 –6, 120, 133 –46, 312 –13
namespaces 61 –73, 83 –6, 96 –7, 178, 229 –48 OOP xxi
overloading operators xvi, 21, 62, 78, 83 –6, 88 –93, 140 –6, 153 –5, 164 –7, 204 –6, 209 –10, 258, 277 –87, 321, 324 –5, 330, 332, 335 –6, 338
overview xiii–xxi, xxiii–xxvi, 1, 321 Pascal contrasts xix–xx, 41, 43, 45, 75
pointers xvi, xviii, 17 –18, 35, 40, 97, 136 –7, 149 –50, 169 –74, 193 –210
polymorphism xvi, 211 –28, 229 –48, 310 –11, 333, 338
procedures 82
program samples 1 –11, 13 –14, 20 –2, 24 –31, 42 –60, 80 –1, 84 –6, 110 –31, 161 –78
programmer backgrounds xiv–xxi, 323 –39 streams 251 –64, 279 –81, 290 –303 structured programming 313 –15
templates xiv, 42 –3, 60, 73, 109 –31, 289 –303, 326 –8, 329 –30, 332, 334, 336 –9
user-defined types 17, 25, 40, 41 –3, 60, 133 –46, 147 –91, 211 –28
uses xvii, xxi, 40
The C++ Programming Language (Stroustrup) 331, 336
Cxiii–xiv, xv, xvi–xvii, xx, xxiii, xxiv, 6, 21, 35, 40, 122, 135 –6, 156, 169, 191, 193 –4, 199 –200, 277, 305 –21, 323 –5, 327 –9, 330, 331 –3, 335, 337, 338
C++ xiii–xiv, xv, xvi–xvii, xx, xxiii, 6, 21, 35, 40, 122, 135 –6, 156, 169, 191, 193 –4, 199 –200, 277, 305 –21
ideal uses xvi–xvii value-based language 191
‘C with classes’ 147 c file extension 161 C90 library 260 Capp, Mike 332 car numbers 179
card 180 –91, 200 –6
card.cpp 152 –5, 162 –4, 167, 184 –91, 205 –6 card.h 162 –4, 184 –91, 205 –6