#, 87, 334, 336
##, 87, 336
#define, 80
#error, 86
#include, 79
#undef, 83
%i, 425
%n, 425-426
%p, 41
->*, 73
.*, 73
<assert.h>,
118-119
<ctype.h>,
99-101
<errno.h>,
138
<float.h>,
132
<limits.h>,
119
<locale.h>,
138-140
<math.h>, 132-137
<signal.h>,
142
<stdarg.h>,
142-150
<stddef.h>,
122-124
<stdio.h>,
102-105
<stdlib.h>,
106-114
<time.h>, 125-126
__cplusplus, 84,
86
__DATE__, 84
__FILE__, 83
__LINE__, 83
__STDC__, 83
__TIME__, 84
8-bit clean, 129
abort, 114
absolute week, 521
abstract base class, 347
abstraction, 161
,data, 338
,function, 181
,type, 180
access
declaration, 343
specifier, 259
accessible base class, 314
accumulate, 391
adapter
,container, 408
,function object, 393-394
Algol, 5
algorithm, 383, 403
complexity, 384-386
,Euclid's, 383
,generic, 386-389
,standard, 549-557
argument
,default, 35
,unchecked, 238
array, 398
and pointer, 46
as parameter, 56
ragged, 523
,multi-dimensional, 61
,pointer to, 63
rank, 66
asctime, 126
assert, 88, 118,
333
assignment
,memberwise, 176
operator, see operator[]
suppression, 422
AT&T Research, 3, 11
atexit, 114
auto_ptr, 327-328
back_inserter,
406
base class, 342
,abstract, 347
,accessible, 314
Basic Multilingual Plane, 130
basic_string,
441
Becker, Pete, xvii, 538
binary_function,
393
bind1st, 393
bind2nd, 393
bitfield, 47, 204
bitset, xiii,
202, 224-226, 417
bitwise operators, 202-204
block I/O, 102
Booch, Grady, 161
bool, 2
branching, 290-299
,non-local, 296-299
break, 290
bsearch, 110
business object model, 351
C compatibility, 5, 37, 547
C With Classes, 2, 3, 11
C++ Standard Committee, xv, xvii, 1, 2, 6, 12, 13
C/C++ Users Journal, xvi-xvii, 1, 123, 478, 538, 561
calendar
,Gregorian, 477-478
,Julian, 477-478
call by reference, 19
calloc, 525-526
callback, 69
cast, 239-242
,function-style, 15, 240
,new-style, 243, 252-253
catch, 312
by reference, 317
ceil, 134
character I/O, 102
character literal, 548
character set, 93, 127
,execution, 94
,multi-byte, 128
,portable, 130
,source, 94, 96
,wide, 123, 242
CHAR_BIT, 119,
205
chmod, 464
Clamage, Steve, 1
class, 14
,abstract, 347
,local, 266-267
,nested, 265-266
scope, 256, 259-266, 548
class template, 189
clock, 125
CLOCKS_PER_SEC,
125
clock_t, 125
code page, 129
common week, 521
complex, 37-38
complexity, 386-388
concrete data type, 173
const, 548
and array dimension, 38
,casting away, 242-243, 253
char*,
548
correctness, 240-243
pointer, 50
,pointer to, 50
const_cast, 253
constructor, 14, 165
,copy, 174, 177
,default, 174
,explicit,
17, 248-249
,protected,
347, 349
,single-argument, 15
container (or collection), 180, 398
adapter, 408
,associative, 409
,heterogeneous, 343-344
,sequence, 401-402
containment, 403
by reference, 354
continue, 297
control character, 93,100
conversion
,arithmetic, 235
,implicit, 243
,narrowing, 233
operator, 247
,user-defined, 243-248
copy constructor, 174, 177
copy-on-write, 265
ctime, 473-473
date
classes, 495-520
functions, 478-495
,partial, 495
,system reference, 474
deep copy, 530, 533
default, 294
default argument, 35
default constructor, 174
default promotions, 239
defined operator,
86
delete operator,
36, 529
and array, 530
demotion, 233
difftime, 475
digraph, 95-96
Dijkstra, Edsgar, 283
div_t, 113
domain, 351
domain error, 138
downcast, 252
dup, 463
dup2, 463
dynamic binding, 344
dynamic_cast,
253
Eckel, Bruce, xvii
EDOM, 138
8-bit clean, 129
embedded systems, 98
encapsulation, 161
endl, 28
environment
,freestanding (or embedded), 98
,hosted, 98
equal_to, 393
ERANGE, 138
errno, 138
exception, 317
exception, 2, 312
,catching an, 314
and constructors, 323
handler, 312
,memory failure, 533
,rethrowing an, 318
specification, 330-332
,standard, 317-318
exit, 114
exit handlers, 114
explicit, 17,
248-249
extensibility, 12
extractor, 22
fdopen, 456
ferror, 102, 448
fgetpos, 103,
448
fgets, 444
file
,binary, 446
descriptor (or handle), 456
positioning, 104
remove,
454
,temporary, 454
,text, 446
fileno, 456
fill, 30
filter, 444
fixed-point number system, 152
floating-point number system, 152
floor, 134
fmod, 132
format flag, 24
fpos_t, 103
framework, xvi, 350, 352
fread, 102, 446
free, 525
free store, 329, 523, 529
freestanding environment, 98
freopen, 444
frexp, 134
friend, 168
fseek, 448
fsetpos, 103,
448
ftell, 448
function
abstraction, 181
,binary, 392
,generator, 392
,inline, 83
,member
,compiler-generated, 177
,non-static, 263
,static, 263
object, 390-392, 558-559
,adaptable, 392
adapter, 393-394, 560
,overloaded, 185
prototype, 13, 237, 548
scope, 255
signature, 281
template, 83, 187, 387
,unary, 392
,virtual, 182, 345
,pure, 347
function call operator, 390
fwrite, 446
generator, 392
getenv, 114
gets, 444
goto, 283, 295
gslice, 419
header, 79
heap, see free store
hosted environment, 98
implicit conversion, 14, 15
incomplete type, 163
inheritance, 342-343
initializer list, 173
inline, 34
inserter, 22
integral promotion, 229
interface, 161
ios::basefield,
25
ios::boolalpha,
31
ios::showpoint,
24
ios::skipws, 24
ios::width, 29
ISO 10646, 94, 130
ISO 646, 95, 130
ISO 8859, 130
istream_iterator,
406
istringstream,
440-441
istrstream, 440
iteration, 387, 403
iterator, 402-406
,bi-directional, 404
,forward, 404
,input, 403
,insert, 405
,output, 403
,random access, 405
taxonomy, 403
Java, 6
Julian day, 475-478
keywords, 547
Knuth, Donald, 383
lconv, 138
ldexp, 134
Lenkov, Dmitry, 1
lifetime, 272-275
of temporaries, 275
linkage, 276-286
,internal, 38, 276
and extern,
277
,external, 38, 276
specification, 281
and static,
277
,typesafe, 17-18, 280-281, 548
Lisp, 12
list, 3-4
local class, 266-267
locale, 138
localeconv, 138
localtime, 126,
472-473
longjmp, 296,
308
loop invariant, 287-289
lseek, 463
Lucent Technologies, 3
machine epsilon, 153
macro, 6
,function-like, 34, 82
vs. inline function, 34
,object-like, 81
and side effects, 34, 82
malloc, 36, 523,
525-526
manipulator, 28, 31
,parameterized, 29
map, 409
member
function, 14
,non-static, 262
,static, 262
template, 193
memberwise assignment, 176
memchr, 114
memcpy, 50, 114
memmove, 114
memory
,automatic, 523
,dynamic, 523
management, 329-33, 523
,static, 523
modf, 134
multimap, 409
multiplies, 391
multiset, 409
name mangling, 18, 281
namespace, 2
alias, 271
,classic, 268-269
,global, 271-272
scope, 269-272
std, 22
,unnamed, 272
,user-defined, 269-272
narrowing conversion, 233
NDEBUG, 119
nested class, 265-266
new operator,
36, 529
and arrays, 36, 530
,placement, 535-538
nothrow, 330
NULL, 124
object
,function, 390
-oriented programming, 338
persistence, xvi, 350
offsetof, 124
operator
,conversion, 247
,function call, 390
operator=, 176
operator>>, 24
operator[], 249
operator delete,
328, 534
operator new,
328, 534
operator overloading, 168
optimizers, 5
overloading, 31-32
pair, 409
perror, 138
persistence
,object, xvi, 350
framework, 350
PFX, 352, 356
placement new,
535-538
Plauger, P.J. "Bill", xvii, 99, 123, 284
pointer, 40-41
and array, 52
arithmetic, 53
,const,
50
to const,
50, 241
to function, 68-69
indirection, 41
to member, 69
,null, 41
to void,
49-50, 548
polymorphism, 181, 346
POSIX, 306, 455-456
postcondition, 384
precondition, 384
predicate, 387, 390
preprocessor, 6, 79
directive, 80
printf, 19, 427-429
priority_queue,
408
promotion
,default, 239
,integral, 229
prototype, see function prototype
pseudocode, 286
ptrdiff_t, 44,
122
ptr_fun, 394
pure virtual function, 347
qsort, 69, 109
queue, 408
raise, 300
realloc, 106,
525-526
recordset, 334, 353
reference, 18-19
,call by, 48
reinterpret_cast,
253
relative error, 152
remove, 454
reuse, 12
rewind, 448
rmdir, 465
roundoff error, 152
runtime type identification (RTTI), 2, 252-253
scanf, 421-426
scanset, 423-424
scope, 255-268
,class, 256, 259-266, 548
,file, 257
,function, 255, 257
of function parameters, 256
,function prototype, 255
,local, 255
,minimal, 258-259
and name binding, 265
,namespace, 256, 269-272
resolution operator, 259
script
,alphabetic, 127
,ideographic, 127
,logographic, 127
,Han, 127, 128, 131
sequence, 386
set, 180, 409
setf, 24, 28
setfill, 30
setjmp, 296, 308
set_new_handler,
331, 534
set_terminate,
315
set_unexpected,
331
setw, 29
shallow copy, 530, 533
sig_atomic_t,
305
sign extension, 230
signal, 142, 300-305
,asynchronous, 300
handler, 300
,synchronous, 300
signature, function, 18
Simula, 3, 11, 67
size_t, 98, 122
size_type, 402
slice, 418
Small, Chet, 59
Smalltalk, 12
sprintf, 146
srand, 110
sscanf, 422
stable_sort, 417
stack, 408
stack unwinding, 312
static_cast, 253
Stephanov, Alex, 2
STL, xv, 2, Chapters 15-16
storage duration, 272
strchr, 114, 115,
435
strcspn, 115
strerror, 138
strftime, 473
string, 3-4, 96,
436-439
find_first_not_of,
436
find_first_of,
436
getline,
437, 446
resize,
436
,wide, 441
string literal, 56, 548
Stroustrup, Bjarne, xvi, 1, 11
strpbrk, 115
strrchr, 435
strstr, 429-430
strtok, 431-433
strtol, 113
struct, 14,161
struct tm, 126,
473-474
structured programming, 283-290
substring, 429-436
template, 2, 31-32
,class, 37
,function, 83, 187, 387
inclusion model, 189
instantiation, 188-189
,member, 193
parameter, 188, 194
,non-type, 195-196
separation model, 189
specialization, 196-198
,explicit, 196
,partial, 198
Terrazas, Mike, xvi
time, 472
time_t, 126, 472
tmpfile, 455
tmpnam, 454
translation unit, 79
trigraph, 94
try, 312
type
abstraction, 180, 187
,dynamic, 347
,incomplete, 73-77
safety, 12, 547
typename, 195
type-safe linkage, 17-18, 280-281, 548
UCHAR_MAX, 231,
236
ULONG_MAX, 236
unary_function,
392
unchecked arguments, 238
unexpected, 331
Unicode, 123, 131, 442
unique, 415, 417
unit buffering, 21
universal character names, 94
unlink, 464
unsetf, 24
using, 270
Vasa, 3-4
valarray, 417-419
va_list, 143
value semantics, 402
vector, 3, 4,
398-401
vector<bool>,
202, 227
vfprintf, 143
virtual, 345
virtual function, 182, 345
,pure, 347
void*, see pointer
to void
volatile, 297
vprintf, 143
vsprintf, 143
wchar_t, 123,
442
wide character, 2, 123, 129, 442
wide string, 442
wstring, 442