Bruce Eckel's Thinking in C++, 2nd Ed Contents | Prev

Thinking in C++ 2nd ed (Beta) Version TICA18 - Index


! , # , & , > , < , + , - , . , 1 , 2 , 3 , = , A , B , C , D , E , F , G , H , I , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Z , ^ , |


!
!, 1
!=, 1
#
#define, 1, 2
#define NDEBUG, 1
#endif, 1
#ifdef, 1, 2
#ifndef, 1
#include , 1
#undef, 1, 2
&
&, 1, 2
&&, 1
&=, 1
>
>, 1
>>, 1
>>=, 1
>=, 1
<
<, 1
<<, 1
<<=, 1
<=, 1
+
+, 1
++, 1
-
-, 1
--, 1
.
..., 1
1
1.creational design patterns, 1
2
2.design patterns
structural, 1
3
3.design patterns
behavioral, 1
=
=, 1
==, 1, 2
A
abort( ), 1
Standard C library function, 1, 2
abstract
abstract base classes and pure virtual functions, 1
class, 1
data type, 1
pure abstract base class, 1
abstract data type, 1
abstraction, 1
in program design, 1
access
access function, 1
access specifiers and object layout, 1
control, 1
control, run-time, 1
order for specifiers, 1
specifiers, 1, 2
accessors, 1
adapting to usage in different countries, Standard C++ localization library, 1
adding new virtual functions in the derived class, 1
addition , 1
address of an object, 1
address-of (&), 1
addresses
pass as const references, 1
passing and returning, 1
aggregate
const aggregates, 1
initialization, 1
initialization and structures, 1
aliasing, namespace, 1
allocation
dynamic memory, 1
dynamic memory allocation, 1
memory, 1
storage, 1
alternate linkage specification, 1
ambiguity, 1
in multiple inheritance, 1
with namespaces, 1
analysis
& design, object-oriented, 1
requirements analysis, 1
analysis paralysis, 1
AND, 1
AND (&&), 1
and, && (logical AND), 1
and_eq, &= (bitwise AND-assignment), 1
ANSI/ISO C++ committee, 1
applicator, 1
applying a function to a container, 1
argument
indeterminate list, 1
unnamed, 1
variable list, 1
arguments
and name mangling, 1
and return values, operator overloading, 1
argument-passing guidelines, 1
command line, 1
const, 1
constructor, 1
default, 1, 2
destructor, 1
macro, 1
passing, 1
variable argument list, 1
arguments, mnemonic names , 1
array
calculating size, 1
initializing to zero, 1
making a pointer look like an array, 1
new & delete, 1
overloading new and delete for arrays, 1
static initialization, 1
assembly-language
asm in-line assembly language keyword, 1
assembly-language code generated by a virtual function, 1
CALL, 1
RETURN, 1
assert( ), 1
assert() macro in ANSI C, 1
assignment, 1, 2
disallowing, 1
memberwise, 1
operators, 1
atexit( )
Standard C library function, 1
atof( ), 1
atoi( ), 1
auto, 1
auto keyword, 1
auto-decrement, 1
auto-increment, 1
automatic
counting, and arrays, 1
creation of operator=, 1
destructor calls, 1
automatic type conversion, 1, 2
and exception handling, 1
pitfalls, 1
preventing with the keyword explicit, 1
automatic variables, 1
awk, 1
B
bad( ), 1
badbit, 1
bad_alloc, 1
Standard C++ library exception type, 1
bad_cast
and run-time type identification, 1
Standard C++ library exception type, 1
bad_typeid
run-time type identification, 1
Standard C++ library exception type, 1
base
abstract base class, 1
abstract base classes and pure virtual functions, 1
base-class interface, 1
pure abstract base class, 1
BASIC language, 1
before( )
run-time type identification, 1
behavioral design patterns, 1
binary
operators, examples of all overloaded, 1
overloaded operator, 1
printing, 1
binary operators, 1
binding
dynamic binding, 1
early binding, 1
function call binding, 1, 2
late binding, 1
run-time binding, 1
Binstock, Andrew, 1
bitand, & (bitwise AND), 1
bitcopy, 1, 2
bitor, | (bitwise OR), 1
bits
bit vector in the Standard C++ libraries, 1
bitwise
AND, 1
AND operator (&), 1
const, 1
EXCLUSIVE OR XOR (^), 1
explicit bitwise and logical operators, 1
NOT ~, 1
operators, 1
OR, 1
OR operator (|), 1
bit_string
bit vector in the Standard C++ libraries, 1
bloat, preventing template bloat, 1
block, definition, 1
Booch, Grady, 1, 2
book errors, reporting, 1
Boolean
bool, true and false, 1
boolean algebra, 1
break, 1
bubble sort, 1
buffering, iostream, 1
bugs, finding, 1
built-in data type, 1
built-in type
initializer for a static variable , 1
pseudoconstructor calls for, 1
built-in types, basic, 1
bytes, reading raw, 1
C
C, 1
and C++ compatibility, 1
and the heap, 1
basic data types, 1
C programmers learning C++, 1
compiling with C++, 1
const, 1
difference with C++ when defining variables, 1
error handling in C, 1
function library, 1
linking compiled C code with C++, 1
localtime( ), Standard library, 1
operators and their use, 1
passing and returning variables by value, 1
rand( ), Standard library, 1
Standard C, 1
Standard C library function abort( ), 1
Standard C library function strncpy( ), 1
Standard C library function strtok( ), 1
standard I/O library, 1
Standard library function abort( ), 1
Standard library function atexit( ), 1
Standard library function exit( ), 1
Standard library macro toupper( ), 1
C & C++ operators, 1
C Libraries, 1
C++
and C compatibility, 1
ANSI/ISO C++ committee, 1
C programmers learning C++, 1
CGI programming in C++, 1
compiling C, 1
data, 1
difference with C when defining variables, 1
GNU C++ Compiler, 1
linking compiled C code with C++, 1
major language features, 1
object-based C++, 1
operators and their use, 1
programming guidelines, 1
sacred design goals of C++, 1
Standard C++, 1
Standard string class, 1
Standard Template Library (STL)., 1
template, 1
c-v qualifier, 1
calculating array size, 1
CALL, assembly-language, 1
calling a member function, 1
calloc( ), 1, 2, 3, 4
Carolan, John, 1
Carroll, Lewis, 1
case, 1
cast, 1, 2, 3
casting away const, 1
casting away const and/or volatile, 1
casting away constness, 1
casting void pointers, 1
const_cast, 1
dynamic_cast, 1
new cast syntax, 1
operators, 1
reinterpret cast, 1
run-time type identification, casting to intermediate levels, 1
searching for, 1
static_cast, 1
Cat, Cheshire, 1
catch, 1
catching any exception, 1
CGI
connecting Java to CGI, 1
crash course in CGI programming, 1
GET, 1
POST, 1, 2
programming in C++, 1
chaining, in iostreams, 1
change
vector of change, 1, 2
char, 1
char* iostreams, 1
character, 1
constants, 1
transforming strings to typed values, 1
check for self-assignment in operator overloading, 1
Cheshire Cat, 1
clashes, name, 1
class, 1, 2
abstract base classes and pure virtual functions, 1
abstract class, 1
adding new virtual functions in the derived class, 1
class definition and inline functions, 1
class hierarchies and exception handling, 1
compile-time constant inside, 1
compile-time constants in, 1
composition, 1
const and enum in, 1
container class templates and virtual functions, 1
declaration, 1
definition, 1
duplicate class definitions and templates, 1
generated classes for templates, 1
handle, 1
inheritance diagrams, 1
local, 1
maintaining library source, 1
most-derived class, 1
nested, 1
nested class, and run-time type identification, 1
overloading new and delete for a class, 1
pointers in, 1
pure abstract base class, 1
Standard C++ string, 1
static data members, 1
static member functions, 1
string, 1
virtual base classes, 1
wrapping, 1
cleaning up the stack during exception handling, 1
cleanup, 1, 2
clear( ), 1, 2
client programmer, 1, 2
code generator, 1
code organization, 1
header files, 1
code re-use, 1
collection, 1
collision, linker, 1
comma operator, 1, 2
command line, 1
interface, 1
committee, ANSI/ISO C++, 1
common interface, 1
common pitfalls when using operators, 1
compatibility, C & C++, 1
compilation
needless, 1
separate, 1
compilation process, 1
compile time
constants, 1
error checking, 1
compiler, 1
running, 1
compiler error tests, 1
compilers, 1
compiling C with C++, 1
compl, ~ (ones complement), 1
complex number class, 1
composition, 1, 2, 3
and design patterns, 1
choosing composition vs. inheritance, 1
combining composition & inheritance, 1
member object initialization, 1
vs. inheritance, 1
conditional operator, 1
console I/O, 1
const, 1, 2
address of, 1
and enum in classes, 1
and pointers, 1
and string literals, 1
casting away, 1
casting away const, 1
casting away const and/or volatile, 1
const correctness, 1
const objects and member functions, 1
const reference function arguments, 1
extern, 1
for aggregates, 1
for function arguments and return values, 1
in C, 1
initializing data members, 1
member function, 1
memberwise, 1
mutable, 1
pass addresses as const references, 1
reference, 1, 2
return by value as const, 1
constant, 1
character, 1
compile time, 1
compile-time inside classes, 1
constants in templates, 1
folding, 1, 2
named, 1
values, 1
constructor, 1, 2, 3, 4, 5, 6
alternatives to copy-construction, 1
and exception handling, 1, 2, 3
and inlines, 1
and operator new, out of memory, 1
and overloading, 1
arguments, 1
behavior of virtual functions inside constructors, 1
copy, 1, 2, 3
copy-constructor vs. operator=, 1
default, 1, 2, 3, 4
default constructor, 1
default constructor synthesized by the compiler, 1
efficiency, 1
failing, 1
global object, 1
initializer list, 1, 2
installing the VPTR, 1
name, 1
order of constructor and destructor calls, 1, 2
order of constructor calls, 1
private constructor, 1
pseudo-constructor, 1
return value, 1
simulating virtual constructors, 1
virtual base classes with a default constructor, 1
virtual functions & constructors, 1
virtual functions inside constructors, 1
const_cast, 1, 2
container, 1, 2
and polymorphism , 1
container class templates and virtual functions, 1
ownership, 1, 2
and iterators, 1
context, and overloading, 1
continuation, namespace, 1
continue, 1
control
access, 1
access and run-time, 1
controlling
access, 1
linkage, 1
template instantiation, 1
controlling access, 1
controlling execution , 1
conversion
automatic type conversion, 1
automatic type conversions and exception handling, 1
narrowing conversions, 1
pitfalls in automatic type conversion, 1
preventing automatic type conversion with the keyword explicit, 1
Coplien, James, 1
copy-constructor, 1, 2, 3, 4, 5, 6
alternatives, 1
default, 1
vs. operator=, 1
copy-on-write (COW), 1
copying
pointers, 1
correctness, const, 1
counting
automatic, and arrays, 1
reference, 1
couplet, 1
cout, 1
creating
a new object from an existing object, 1
manipulators, 1
objects on the heap, 1
creating functions in C and C++, 1
creating your own libraries with the librarian , 1
creational design patterns, 1
D
data
C data types, 1
defining storage for static members, 1
initializing const members, 1
static area, 1
static members inside a class, 1
data type
abstract, 1
built-in, 1
user-defined, 1
database
object-oriented database, 1
datalogger, 1
debugging, 1
assert() macro, 1
flags, 1
preprocessor flags, 1
run-time, 1
decimal, 1
dec in iostreams, 1
dec manipulator in iostreams, 1
formatting, 1
declaration, 1, 2, 3, 4
class, 1
forward, 1
function, 1
structure, 1
using, for namespaces, 1
virtual, 1
virtual keyword in derived-class declarations, 1
vs. definitions, 1
declaring variables
point of declaration & scope, 1
decoration, name, 1
decrement, 1, 2
and increment operators, 1
overloading operator, 1
default
arguments, 1, 2
constructor, 1, 2, 3, 4, 5
copy-constructor, 1
default , 1
default constructor
synthesized by the compiler, 1
defining
and initializing variables, 1
data on the fly, 1
variable, anywhere in the scope, 1
variables, 1
definition, 1
block, 1
class, 1
duplicate class definitions and templates, 1
object, 1
pure virtual function definitions, 1
storage for static data members, 1
vs declaration, 1
delete, 1, 2, 3
& new for arrays, 1
and zero pointer, 1
delete-expression, 1, 2
multiple deletions of the same object, 1
overloading array new and delete, 1
overloading global new and delete, 1
overloading new & delete, 1
overloading new and delete for a class, 1
overloading new and delete for arrays, 1
Demarco, Tom, 1
dependency, static initialization, 1
dereference (*), 1
derived
adding new virtual functions in the derived class, 1
virtual keyword in derived-class declarations, 1
deserialization, and persistence, 1
design
abstraction in program design, 1
analysis & design, object-oriented, 1
and efficiency, 1
and inlines, 1
and mistakes, 1
patterns, 1
sacred design goals of C++, 1
design patterns, 1
creational, 1, 2
factory method, 1
observer, 1
prototype, 1, 2
vector of change, 1, 2
visitor, 1
destructor, 1, 2
and exception handling, 1, 2
and inlines, 1
automatic destructor calls, 1
destruction of static objects, 1
destructors and virtual destructors, 1
explicit destructor call, 1
order of constructor and destructor calls, 1, 2
scope, 1
virtual destructor, 1, 2
virtual function calls in destructors, 1
development, incremental, 1
diagram
class inheritance diagrams, 1
diamond
in multiple inheritance, 1
directive, using, 1
directly accessing structure, 1
disallowing assignment, 1
dispatching
double dispatching, 1, 2
multiple dispatching, 1
division, 1
do-while, 1
domain_error
Standard C++ library exception type, 1
double, 1, 2
double dispatching, 1, 2
double precision floating point, 1
downcast
static, 1
type-safe downcast in run-time type identification, 1
duplicate class definitions and templates, 1
dynamic
binding, 1
memory allocation, 1, 2
object creation, 1, 2
dynamic_cast
and exceptions, run-time type identification, 1
difference between dynamic_cast and typeid( ), run-time type identification, 1
run-time type identification, 1
E
early binding, 1, 2, 3
effectors, 1
efficiency, 1
and virtual functions, 1
constructor, 1
design, 1
inlines, 1
references, 1
run-time type identification, 1
when creating and returning objects, 1
elegance, in programming, 1
ellipses, with exception handling, 1
Ellis, Margaret, 1
else, 1
embedded
object, 1
systems, 1
encapsulation, 1, 2
endl, iostreams, 1, 2
ends, iostreams, 1, 2
enum
and const in classes, 1
clarifying programs with, 1
untagged, 1
enumeration, 1
incrementing, 1
type checking, 1
eof( ), 1
eofbit, 1
equivalence, 1
equivalent (==), 1
errno, 1
error
compile-time checking, 1
error handling in C, 1
handling, iostream, 1
off-by-one, 1
recovery, 1
reporting errors in book, 1
escape sequences, 1
evaluation order, inline, 1
exception handling, 1
asynchronous events, 1
atomic allocations for safety, 1
automatic type conversions, 1
bad_alloc Standard C++ library exception type, 1
bad_cast Standard C++ library exception type, 1
bad_typeid, 1
bad_typeid Standard C++ library exception type, 1
catching any exception, 1
class hierarchies, 1
cleaning up the stack during a throw, 1
constructors, 1, 2
constructors , 1
destructors, 1, 2
domain_error Standard C++ library exception type, 1
dynamic_cast, run-time type identification, 1
ellipses, 1
exception handler, 1
exception hierarchies, 1
exception matching, 1
exception Standard C++ library exception type, 1
invalid_argument Standard C++ library exception type, 1
length_error Standard C++ library exception type, 1
logic_error Standard C++ library exception type, 1
multiple inheritance, 1
naked pointers, 1
object slicing and exception handling, 1, 2
operator new placement syntax, 1
out_of_range Standard C++ library exception type, 1
overflow_error Standard C++ library exception type, 1
overhead, 1
programming guidelines, 1
range_error Standard C++ library exception type, 1
re-throwing an exception, 1
references, 1, 2
run-time type identification, 1
runtime_error Standard C++ library exception type, 1
set_terminate( ), 1
set_unexpected( ), 1
specification, 1
Standard C++ library exception type, 1
Standard C++ library exceptions, 1
standard exception classes, 1
termination vs. resumption, 1
throwing & catching pointers, 1
throwing an exception, 1
typeid( ), 1
typical uses of exceptions, 1
uncaught exceptions, 1
unexpected( ), 1
unexpected, filtering exceptions, 1
executing code
after exiting main( ), 1
before entering main( ), 1
execution point, 1
exit( ) Standard C library function, 1
explicit
keyword to prevent automatic type conversion, 1
exponential, 1
notation, 1
exponentiation, no operator, 1
extensible, 1
extensible program, 1, 2
extern, 1, 2, 3, 4, 5, 6
to link C code, 1
external
linkage, 1, 2
references, 1
external linkage, 1, 2
extractor, 1
and inserter, overloading for iostreams, 1
F
factory method, 1
fail( ), 1
failbit, 1, 2
false, 1, 2, 3
bool, true and false, 1
fan-out, automatic type conversion, 1
fibonacci( ), 1
file
file scope, 1
file static, 1
header, 1, 2, 3, 4
iostreams, 1, 2
names, 1
scope, 1
static, 1, 2, 3
file scope, 1, 2
FILE, stdio, 1
fill
width, precision, iostream, 1
filtering unexpected exceptions, 1
first C++ program, 1
flags
debugging, 1
flags, iostreams format, 1
floating point
float, 1, 2
FLOAT.H, 1
number size hierarchy, 1
numbers, 1, 2
true and false, 1
flush, iostreams, 1, 2
for, 1
for loop, 1
format flags, iostreams, 1
formatting
formatting manipulators, iostreams, 1
in-core, 1
iostream internal data, 1
output stream, 1
forward declaration, 1
forward reference, inline, 1
free store, 1
free( ), 1, 2, 3, 4, 5, 6
freeze( ), 1
freezing a strstream, 1
friend, 1, 2
and namespace, 1
global function, 1
member function, 1
nested, 1
structure, 1
fseek( ), 1
FSTREAM.H, 1
function
abstract base classes and pure virtual functions, 1
access, 1
adding more to a design, 1
adding new virtual functions in the derived class, 1
applying a function to a container, 1
argument list, 1
assembly-language code generated by a virtual function, 1
behavior of virtual functions inside constructors, 1
C library, 1
call overhead, 1
calling a member, 1
class defined inside, 1
const function arguments, 1
const member, 1, 2
const reference arguments, 1
creating, 1
declaring, 1, 2
expanding the function interface, 1
friend member, 1
function call binding, 1, 2
function call operator( ), 1
function objects, 1
function templates, 1
function type, 1
function-call stack frame, 1
global, 1
global friend, 1
helper, assembly, 1
inline, 1, 2
inline , 1
member function template, 1
member overloaded operator, 1
member selection, 1
operator overloading, 1
pass-by reference & temporary objects, 1
picturing virtual functions, 1
pointer to a function, 1
polymorphic function call, 1
pure virtual function definitions, 1
redefinition during inheritance, 1
reference arguments and return values, 1
return value, 1
return values, 1
run-time type identification without virtual functions, 1, 2
static member, 1, 2, 3
variable argument list, 1
virtual function overriding, 1
virtual functions, 1
virtual functions & constructors, 1
void return value, 1
function bodies, 1
function declaration syntax, 1
function definitions, 1
G
garbage collector, 1
GET, 1
get pointer, 1, 2, 3
get( ), 1, 2, 3
overloaded versions, 1
with streambuf, 1
getline( ), 1, 2, 3
Glass, Robert, 1
global
friend function, 1
functions, 1
object constructor, 1
overloaded operator, 1
overloading global new and delete, 1
scope resolution, 1
static initialization dependency of global objects, 1
global variables, 1
GNU C++ Compiler, 1
going out of scope, 1
good( ), 1
goto, 1, 2
non-local, 1
non-local goto, setjmp( ) and longjmp( ), 1
graphical user interface (GUI), 1
greater than (>), 1
greater than or equal to (>=), 1
Grey, Jan, 1
guaranteed initialization, 1, 2
GUI
graphical user interface, 1
guidelines
argument-passing, 1
C++ programming guidelines, 1
H
handle classes, 1
handler, exception, 1
header
file, 1, 2
file, multiple inclusion, 1
files, 1, 2, 3, 4, 5
formatting standard, 1
header files and inline definitions, 1
header files and templates, 1
importance of using a common header file, 1
new file include format, 1
header file, 1
heap, 1, 2
and C, 1
creating objects, 1
simple storage allocation system, 1
helper function, assembly, 1
hex, 1
hex (hexadecimal) in iostreams, 1
hex( ), 1
hexadecimal, 1, 2
hiding
implementation hiding, 1, 2
name hiding during inheritance , 1
hierarchy
object-based hierarchy, 1, 2
high-level assembly language, 1
hostile programmers, 1
Hutt, Andrew T.F., 1
I
I/O
C standard library, 1
console, 1
I/O redirection, 1
IEEE floating-point format, 1
if-else, 1
if-else statement, 1
ifstream, 1, 2, 3, 4
ignore( ), 1
implementation, 1
and interface, separation, 1, 2, 3
hiding, 1, 2
limits, 1
implicit type conversion, 1
in situ inline functions, 1
in-core formatting, 1
in-memory compilation, 1
include
new include format, 1
incomplete type specification, 1, 2
increment, 1
and decrement operators, 1
incrementing and enumeration, 1
overloading operator, 1
increment , 1
incremental development, 1, 2
indeterminate argument list, 1
indexOf( ), 1
inheritance, 1
and design patterns, 1
and the VTABLE, 1
choosing composition vs. inheritance, 1
class inheritance diagrams, 1
combining composition & inheritance, 1
function redefinition, 1
multiple, 1
multiple inheritance (MI), 1
multiple inheritance and run-time type identification, 1, 2, 3
name hiding during inheritance , 1
private inheritance, 1
protected inheritance, 1
public, 1
specialization, 1
subtyping, 1
templates, 1
vs. composition, 1
initialization, 1, 2
aggregate, 1
constructor initializer list, 1, 2
guaranteed, 1, 2
initializer for a static variable of a built-in type, 1
initializers for array elements, 1
initializing const data members, 1
initializing to zero, 1
initializing with the constructor, 1
member object initialization, 1
memberwise, 1
static array, 1
static dependency, 1
static to zero, 1
initializing variables at definition, 1
inject, into namespace, 1
inline
and class definition, 1
and constructors, 1
and destructors, 1
and efficiency, 1
constructor efficiency, 1
definitions and header files, 1
effectiveness, 1
function, 1, 2
functions, 1
in situ, 1
limitations, 1
order of evaluation, 1
input
line at a time, 1
inserter, 1
and extractor, overloading for iostreams, 1
instantiation, template, 1
int, 1
interface, 1
and implementation, separation, 1
base-class interface, 1
command-line, 1
common interface, 1
expanding function interface, 1
graphical user (GUI), 1
repairing an interface with multiple inheritance, 1
separation of interface and implementation, 1, 2
internal linkage, 1, 2, 3, 4, 5, 6
interpreter, printf( ) run-time, 1
interpreters, 1
interrupt, 1
interrupt service routine (ISR), 1, 2
invalid_argument
Standard C++ library exception type, 1
iostream
manipulators, 1
reading input, 1
IOSTREAM.H, 1
iostreams
and global overloaded new & delete, 1
and Standard C++ library string class, 1
applicator, 1
automatic, 1
bad( ), 1
badbit, 1
binary printing, 1
buffering, 1
clear( ), 1
dec, 1
dec (decimal), 1
effectors, 1
endl, 1
ends, 1
eof( ), 1
eofbit, 1
error handling, 1
fail( ), 1
failbit, 1, 2
files, 1
fill character, 1
fixed, 1
flush, 1, 2
format flags, 1
formatting manipulators, 1
fseek( ), 1
get pointer, 1
get( ), 1, 2
getline( ), 1
good( ), 1
hex, 1
hex (hexadecimal), 1
ignore( ), 1
internal, 1
internal formatting data, 1
ios::app, 1
ios::ate, 1
ios::basefield, 1
ios::beg, 1
ios::cur, 1
ios::dec, 1
ios::end, 1
ios::fill( ), 1
ios::fixed, 1
ios::flags( ), 1
ios::hex, 1
ios::internal, 1
ios::left, 1
ios::oct, 1
ios::out, 1
ios::precision( ), 1
ios::right, 1
ios::scientific, 1
ios::showbase, 1
ios::showpoint, 1
ios::showpos, 1
ios::skipws, 1
ios::stdio, 1, 2
ios::unitbuf, 1
ios::uppercase, 1
ios::width( ), 1
left, 1
limitations with overloaded global new & delete, 1
manipulators, creating, 1
newline, manipulator for, 1
noshowbase, 1
noshowpoint, 1
noshowpos, 1
noskipws, 1
nouppercase, 1
oct (octal), 1, 2
open modes, 1
overloading << and >>, 1
precision( ), 1
rdbuf( ), 1
read( ), 1
read( ) and write( ), 1
resetiosflags, 1
right, 1
scientific, 1
seekg( ), 1
seeking in, 1
seekp( ), 1
setbase, 1
setf( ), 1, 2
setfill, 1
setiosflags, 1
setprecision, 1
setw, 1
setw( ), 1
showbase, 1
showpoint, 1
showpos, 1
skipws, 1
tellg( ), 1
tellp( ), 1
unit buffering, 1
uppercase, 1
width, fill and precision, 1
ws, 1
istream, 1
istringstreams, 1
istrstream, 1, 2
iteration, during software development, 1
iterator, 1, 2, 3, 4
and containers, 1
K
K&R C, 1
keyword
asm, for in-line assembly language , 1
bool, true and false, 1
catch, 1
operator, 1
virtual, 1
Koenig, Andrew, 1, 2
L
Lajoie, Josée, 1
large programs, creation of, 1
late binding, 1
implementing, 1
layout, object, and access control, 1
Lee, Meng, 1
left-shift operator (<<), 1
length_error
Standard C++ library exception type, 1
less than (<), 1
less than or equal to (<=), 1
librarian, 1
libraries, creating, 1
library, 1, 2, 3
C standard I/O, 1
issues with different compilers, 1
maintaining class source, 1
Standard C function abort( ), 1
Standard C function atexit( ), 1
Standard C function exit( ), 1
standard template library (STL), 1
library, code, 1
lifetime
object, 1
of temporary objects, 1
limits, implementation, 1
LIMITS.H, 1, 2
line input, 1
linkage, 1, 2
alternate linkage specification, 1
controlling, 1
external, 1, 2, 3
internal, 1, 2, 3, 4, 5
no, 1, 2
type-safe, 1
linked list, 1, 2, 3
linker, 1, 2, 3, 4
collision, 1
object file order, 1
pre-empting a library function , 1
searching libraries, 1, 2
unresolved references, 1
list
constructor initializer, 1
constructor initializer list, 1
linked, 1, 2, 3
Lister, Timothy, 1
local
classes, 1
static object, 1
local variables, 1
localtime( ), 1
logical
AND, 1
explicit bitwise and logical operators, 1
NOT (!), 1
operators, 1, 2
OR, 1
logic_error
Standard C++ library exception type, 1
long, 1
long double, 1
longjmp( ), 1, 2
loop, for, 1
Love, Tom, 1
lvalue, 1, 2
M
machine instructions, 1
macro
argument, 1
preprocessor, 1, 2
preprocessor macros for parameterized types, instead of templates, 1
magic numbers, 1
main( )
executing code after exiting, 1
executing code before entering, 1
main(), 1
maintaining class library source, 1
make, 1, 2
dependencies, 1
macros, 1
malloc( ), 1, 2, 3, 4, 5, 6
and time, 1
mangling, name, 1, 2, 3, 4
manipulator, 1
creating, 1
iostreams formatting, 1
mathematical operators, 1
member
calling a member function, 1
const member function, 1
const member functions, 1
defining storage for static data member, 1
friend function, 1
initializing const data members, 1
member function selection, 1
member function template, 1
member object initialization, 1
member selection operator, 1
overloaded member operator, 1
pointers to members, 1
static data member, 1
static data member inside a class, 1
static member function, 1, 2
static member functions, 1
vs. non-member operators, 1
memberwise
assignment, 1
initialization, 1
memberwise const, 1
memory
a memory allocation system, 1
allocation, 1
dynamic allocation, 1
dynamic memory allocation, 1
exhausting heap, 1
management, reference counting, 1
memory manager overhead, 1
read-only (ROM), 1
simple storage allocation system, 1
memset( ), 1
message, sending, 1, 2
methodology, software development, 1
Meyers, Scott, 1
MI
multiple inheritance, 1
minimum size of a struct, 1
mistakes, and design, 1
modes, iostream open, 1
modulus, 1
modulus operator, 1
monolithic, 1
Mortensen, Owen, 1
multiple dispatching, 1
multiple inclusion of header files, 1
multiple inheritance, 1, 2
ambiguity, 1
and exception handling, 1
and run-time type identification, 1, 2, 3
and upcasting, 1
avoiding, 1
diamonds, 1
duplicate subobjects, 1
most-derived class, 1
overhead, 1
pitfall, 1
repairing an interface, 1
upcasting, 1
virtual base classes, 1
virtual base classes with a default constructor, 1
multiplication, 1
multitasking and volatile, 1
Murray, Rob, 1, 2
mutable, 1
bitwise vs. memberwise const, 1
mutators, 1
N
naked pointers, and exception handling, 1
name
clashes, 1
decoration, 1
file, 1
hiding, during inheritance, 1
mangling, 1, 2, 3, 4
mangling, no standard for, 1
named constant, 1
namespace, 1, 2
aliasing, 1
ambiguity, 1
continuation, 1
injection, 1
overloading and using declaration, 1
referring to names in, 1
unnamed, 1
using, 1
using declaration, 1
narrowing conversions, 1
needless recompilation, 1
nested
class, 1
friends, 1
structures, 1
nested scopes, 1
network programming
CGI POST, 1
CGI programming in C++, 1
connecting Java to CGI, 1
crash course in CGI programming, 1
new, 1, 2
and delete for arrays, 1
new-expression, 1, 2
new-handler, 1, 2
operator, 1
operator new and constructor, out of memory, 1
operator new placement specifier, 1
operator, exhausting storage, 1
overloaded, can take multiple arguments, 1
overloading array new and delete, 1
overloading global new and delete, 1
overloading new and delete, 1
overloading new and delete for a class, 1
overloading new and delete for arrays, 1
placement syntax, 1
newline, 1
no linkage, 1, 2
non-local goto, 1
setjmp( ) and longjmp( ), 1
not equivalent (!=), 1
not, ! (logical NOT), 1
notifyObservers( ), 1, 2
not_eq, != (logical not-equivalent), 1
nuance, and overloading, 1
NULL references, 1, 2
numerical operations
efficiency using the Standard C++ Numerics library, 1
O
object, 1, 2
address of, 1
const member functions, 1
creating a new object from an existing object, 1
creating on the heap, 1
definition point, 1
destruction of static, 1
global constructor, 1
going out of scope, 1
layout, and access control, 1
lifetime, 1
local static, 1
object-based, 1
object-based C++, 1
object-based hierarchy, 1, 2
object-oriented database, 1
object-oriented programming, 1
passing and returning large, 1
size, 1
size, non-zero forcing, 1
slicing, 1, 2
slicing, and exception handling, 1, 2
static initialization dependency, 1
temporary, 1, 2, 3
object module, 1
object-oriented
analysis & design, 1
Observable, 1
observer design pattern, 1
oct, 1
octal, 1
off-by-one error, 1
ofstream, 1, 2
as a static object, 1
ones complement operator, 1
OOP, 1
summarized, 1
open modes, iostreams, 1
operator, 1
>>, 1
<<, 1
<< overloading to use with ostream, 1
( ), function call, 1
-> smart pointer, 1
->*, 1
=, 1, 2
= behavior of, 1
= vs. copy-constructor, 1
=, automatic creation, 1
=as a private function, 1
and bool, 1
assignment, 1
binary, 1
binary overloaded, 1
binary overloading examples, 1
bitwise, 1
C & C++, 1
casting, 1
choosing between member and non-member overloaded, guidelines, 1
comma, 1, 2
common pitfalls, 1
explicit bitwise and logical operators, 1
fan-out in automatic type conversion, 1
global overloaded, 1
global scope resolution, 1
increment and decrement, 1
logical, 1, 2
member vs. non-member, 1
modulus, 1
new, 1
new placement specifier, 1
new, exhausting storage , 1
new-expression, 1
no exponentiation, 1
no user-defined, 1
ones-complement, 1
operator overloading sneak preview, 1
operators you can’t overload, 1
overloaded member function, 1
overloaded return type, 1
overloading, 1, 2, 3
overloading, arguments and return values, 1
overloading, check for self-assignment, 1
overloading, which operators can be overloaded, 1
postfix increment & decrement, 1
precedence, 1
prefix increment & decrement, 1
relational, 1
scope resolution, 1
scope resolution operator for calling base-class functions, 1
shift, 1
sizeof, 1
type conversion overloading, 1
unary, 1, 2
unary overloaded, 1
unary overloading examples, 1
unusual overloaded, 1
[], 1, 2, 3, 4
++, 1
member selection, 1
ternary, 1
optimizer
peephole, 1
global, 1
OR, 1
OR (||), 1
or, || (logical OR), 1
order
for access specifiers, 1
of constructor and destructor calls, 1, 2
of constructor calls, 1
organization
code, 1
code in header files, 1
or_eq, |= (bitwise OR-assignment), 1
ostream, 1, 2
overloading operator<<, 1
ostringstreams, 1
ostrstream, 1, 2, 3
output
stream formatting, 1
strstreams, 1
out_of_range
Standard C++ library exception type, 1
overflow_error
Standard C++ library exception type, 1
overhead
assembly-language code generated by a virtual function, 1
exception handling, 1
function call, 1
memory manager, 1
multiple inheritance, 1
size overhead of virtual functions, 1
overloading, 1
<< and >> for iostreams, 1
and using declaration, namespaces, 1
array new and delete , 1
choosing between members and non-members, guidelines, 1
fan-out in automatic type conversion, 1
function call operator( ), 1
global new and delete, 1
global operators vs. member operators, 1
new & delete, 1
new and delete for a class, 1
new and delete for arrays, 1
on return values, 1
operator, 1
operator overloading reflexivity, 1
operator<< to use with ostream, 1
operator++, 1
operator->* (pointer-to-member), 1
operators you can’t overload, 1
pitfalls in automatic type conversion, 1
smart pointer operator->, 1
which operators can be overloaded, 1
overriding, 1
overview, chapters, 1
ownership, 1, 2, 3
container, 1
P
pair template class, 1
paralysis, analysis, 1
Park, Nick, 1
parsing, 1
parse tree, 1
passing
and returning addresses, 1, 2
and returning by value, C, 1
and returning large objects, 1
by value, 1, 2
objects by value, 1
temporaries, 1
patterns, design, 1
patterns, design patterns, 1
perror( ), 1
persistence, 1
persistent object, 1
pitfalls
in automatic type conversion, 1
in multiple inheritance, 1
placement
operator new placement specifier, 1
planning, software development, 1
Plauger, P.J., 1
Plum, Tom, 1, 2
point, sequence, 1, 2
pointer, 1, 2, 3, 4
and const, 1
finding exact type of a base pointer, 1
in classes, 1
making it look like an array, 1
pointer references, 1
pointer to a function, 1
smart pointer, 1
stack, 1
to member, 1, 2
void, 1, 2, 3
polymorphism, 1, 2, 3, 4, 5
and containers, 1
polymorphic function call, 1
POST, 1
CGI, 1
postfix operator increment & decrement, 1
precision
width, fill, iostream, 1
precision( ), 1
prefix operator increment & decrement, 1
preprocessor, 1, 2, 3
and scoping, 1
debugging flags, 1
define, 1
directives, 1
directives #define, #ifdef and #endif, 1
macros, 1, 2
problems with, 1
string concatenation, 1
stringizing, 1, 2
token pasting, 1
value substitution, 1
preventing automatic type conversion with the keyword explicit, 1
printf( ), 1, 2
error code, 1
run-time interpreter, 1
private, 1, 2
constructor, 1
copy-constructor, 1
private inheritance, 1
problem space, 1
procedural language, 1
process, 1
program structure , 1
programmer, client, 1, 2
programming, object-oriented, 1
project building tools, 1
promotion, 1
protected, 1, 2, 3, 4
inheritance, 1
prototype, 1
design pattern, 1
pseudoconstructor, for built-in types, 1, 2
public, 1, 2
inheritance, 1
pure
abstract base classes and pure virtual functions, 1, 2
virtual function definitions, 1
push-down stack, 1
put pointer, 1
putc( ), 1
Q
qualifier, c-v, 1
R
raise( ), 1
rand( ), 1
RAND_MAX, 1
range_error
Standard C++ library exception type, 1
rapid development, 1
raw, reading bytes, 1
rdbuf( ), 1
re-declaration of classes, preventing, 1
re-entrant, 1
re-throwing an exception, 1
read( ), 1, 2
iostream read( ) and write( ), 1
read-only memory (ROM), 1
reading raw bytes, 1
realloc( ), 1, 2, 3, 4
recursion, 1
reducing recompilation, 1
reference, 1, 2, 3
and efficiency, 1
and exception handling, 1, 2
and run-time type identification, 1
const, 1, 2
external, 1
for functions, 1
NULL, 1
null references, 1
passing const, 1
pointer, 1
reference counting, 1, 2
rules, 1
reflexivity, in operator overloading, 1
register, 1
register variables, 1
reinterpret_cast, 1, 2
relational operators, 1
reporting errors in book, 1
requirements analysis, 1
resolution
global scope, 1
scope, 1
resolving references, 1
resumption, 1
termination vs. resumption, exception handling, 1
RETURN
assembly-language, 1
by value as const, 1
constructor return value, 1
efficiency when creating and returning objects, 1
operator overloading arguments and return values, 1
overloaded operator return type, 1
overloading on return values, 1
passing and returning by value, C, 1
passing and returning large objects, 1
return by value, 1
return value semantics, 1
returning by const value, 1
returning references to local objects, 1
return value, void, 1
returning a value from a function, 1
reuse
code reuse, 1
source code reuse with templates, 1
right-shift operator (>>), 1
Rogue Wave, 1
ROM
read-only memory, 1
ROMability, 1
root, 1
rotate, 1
RTTI
misuse of RTTI, 1, 2
run-time type identification (RTTI), 1
run-time binding, 1
run-time debugging flags, 1
run-time interpreter for printf( ), 1
run-time type identification, 1, 2, 3, 4
and efficiency, 1
and exception handling, 1
and multiple inheritance, 1, 2, 3
and nested classes, 1
and references, 1
and templates, 1
and upcasting, 1
and void pointers, 1
bad_cast, 1
bad_typeid, 1
before( ), 1
building your own, 1
casting to intermediate levels, 1
difference between dynamic_cast and typeid( ), 1
dynamic_cast, 1
mechanism & overhead, 1
misuse, 1
RTTI, abbreviation for, 1
shape example, 1
type-safe downcast, 1
typeid( ), 1
typeid( ) and built-in types, 1
typeinfo, 1, 2
vendor-defined, 1
VTABLE, 1
when to use it, 1
without virtual functions, 1, 2
run-time, access control, 1
runtime_error
Standard C++ library exception type, 1
rvalue, 1
S
Saks, Dan, 1, 2
scheduling, software development, 1
Schwarz, Jerry, 1, 2
scope, 1, 2
file, 1, 2
of static member initialization, 1
resolution, 1
resolution operator, 1, 2
resolution operator, for calling base-class functions, 1
resolution, global, 1
scoping, 1
and storage allocation, 1
and the preprocessor, 1
consts, 1
security, 1
sed, 1
seekg( ), 1
seeking in iostreams, 1
seekp( ), 1
selection, member function, 1
self-assignment
check for in operator overloading, 1
semantics, return value, 1
sending a message, 1, 2
separate compilation, 1, 2
separate compilation , 1
separation of interface & implementation, 1
separation of interface and implementation, 1, 2
sequence point, 1, 2
serialization, 1
and persistence, 1
set
STL set class example, 1
setChanged( ), 1
setf( ), iostreams, 1, 2
setjmp( ), 1, 2
setw( ), 1
set_new_handler, 1
set_terminate( ), 1
set_unexpected( )
exception handling, 1
shape
example, and run-time type identification, 1
hierarchy, 1
shift operators, 1
short, 1
side effect, 1, 2
signal( ), 1, 2
signed, 1
simple file manipulation, 1
Simula-67, 1
simulating virtual constructors, 1
single-precision floating point, 1
singleton, 1
size
object, 1
of a struct, 1
of object, nonzero forcing, 1
sizeof, 1, 2
size_t, 1
storage, 1
size, built-in types, 1
sizeof , 1
slicing
object slicing, 1
object slicing and exception handling, 1, 2
Smalltalk, 1, 2, 3, 4
smart pointer operator->, 1, 2, 3
sort
bubble sort, 1
source-level debugger, 1
specialization, 1
specification
exception, 1
incomplete type, 1, 2
system specification, 1
specifier
access, 1
access specifiers, 1
order for access, 1
specifiers, 1
specifying storage allocation, 1
stack, 1, 2, 3
function-call stack frame, 1
pointer, 1
push-down, 1
stash and stack as templates, 1
standard
Standard C, 1
Standard C++, 1
Standard C++ libraries
algorithms library, 1
bits bit vector, 1
bit_string bit vector, 1
complex number class, 1
containers library, 1
diagnostics library, 1
general utilities library, 1
iterators library, 1
language support, 1
localization library, 1
numerics library, 1
standard exception classes, 1
standard library exception types, 1
standard template library (STL), 1
string class, 1
standard for each class header file, 1
standard input, 1
standard library , 1
standard output, 1
standard template library
operations on, with algorithms, 1
set class example, 1
startup module, 1
stash
stash and stack as templates, 1
static, 1, 2
array initialization, 1
data area, 1
data member, 1
data members inside a class, 1
defining storage for static data members, 1
destruction of objects, 1
downcast, 1
file, 1, 2
initialization dependency, 1
initialization to zero, 1
initializer for a variable of a built-in type, 1
local object, 1
member function, 1, 2
member functions, 1
storage, 1
storage area, 1
variables inside functions, 1
static type checking, 1
static_cast, 1, 2
stdio, 1
STDIO.H, 1
Stepanov, Alexander, 1
STL
C++ Standard Template Library, 1
standard template library, 1
storage
allocation, 1
auto storage class specifier, 1
defining storage for static data members, 1
extern storage class specifier, 1
register storage class specifier, 1
running out, 1
simple allocation system, 1
sizes, 1
static, 1
static area, 1
static storage class specifier, 1
storage allocation functions for the STL, 1
storage class, 1
storing type information, 1
str( ), strstream, 1
stream, 1
output formatting, 1
streambuf, 1
and get( ), 1
streampos, moving, 1
string, 1
indexOf( ), 1
literals, 1
preprocessor string concatenation, 1
Standard C++ library string class, 1
string class example, 1
transforming character strings to typed values, 1
turning variable name into, 1
substring( ), 1
string concatenation, 1
stringizing, 1
stringizing, preprocessor, 1, 2
strncpy( )
Standard C library function strncpy( ), 1
strongly typed language, 1
Stroustrup, Bjarne, 1, 2, 3, 4
strstr( ), 1
strstream, 1, 2, 3
automatic storage allocation, 1
ends, 1
freezing, 1
output, 1
str( ), 1
user-allocated storage, 1
zero terminator, 1
strtok( )
Standard C library function, 1
struct
minimum size, 1
size of, 1
structural design patterns, 1
structure
aggregate initialization and structures, 1
C, 1
declaration, 1
declaring, 1
friend, 1
nested, 1
redeclaring, 1
subobject, 1, 2, 3, 4
duplicate subobjects in multiple inheritance, 1
substitution, value, 1
substring( ), 1
subtraction, 1
subtyping, 1
sugar, syntactic, 1
switch, 1, 2
system specification, 1
system() function, 1
T
tag name, 1
tellg( ), 1
tellp( ), 1
template
and header files, 1
and inheritance, 1
and multiple definitions, 1
and run-time type identification, 1
argument list, 1
C++ Standard Template Library (STL), 1
constants in templates, 1
container class templates and virtual functions, 1
controlling instantiation, 1
function templates, 1
generated classes, 1
in C++, 1
instantiation, 1
member function template, 1
preprocessor macros for parameterized types, instead of templates, 1
preventing template bloat, 1
requirements of template classes, 1
standard template library (STL), 1
stash and stack as templates, 1
temporary
object, 1, 2, 3
passing a temporary object to a function, 1
temporary objects and function references, 1
terminate( ), 1
uncaught exceptions, 1
termination
vs. resumption, exception handling, 1
terminator
zero for strstream, 1
ternary operator, 1
this, 1, 2, 3, 4, 5, 6
throwing an exception, 1
time, Standard C library, 1
token pasting, preprocessor, 1
toupper( ), 1
unexpected results, 1
trace information, adding to program, 1
transforming character strings to typed values, 1
translation unit, 1, 2
true, 1, 2, 3, 4
true and false, bool, 1
try block, 1
tuple-making template function, 1
type
automatic type conversion, 1
automatic type conversions and exception handling, 1
basic built-in, 1
built-in types and typeid( ), run-time type identification, 1
checking, 1
conversion, 1
finding exact type of a base pointer, 1
function type, 1
implicit conversion, 1
improved type checking, 1
incomplete type specification, 1, 2
new cast syntax, 1
preventing automatic type conversion with the keyword explicit, 1
run-time type identification (RTTI), 1, 2
storing type information, 1
type checking for enumerations, 1
type checking for unions, 1
type-safe downcast in run-time type identification, 1
type-safe linkage, 1
type checking, 1
dynamic, 1
static, 1
type-checking, 1
typedef, 1
typeid( )
and built-in types, run-time type identification, 1
and exceptions, 1
difference between dynamic_cast and typeid( ), run-time type identification, 1
run-time type identification, 1
typeinfo
run-time type identification, 1
structure, 1
TYPEINFO.H, 1
U
ULONG_MAX, 1
unary
examples of all overloaded unary operators, 1
minus (-), 1
operator, 1
operators, 1
overloaded unary operators, 1
plus (+), 1
uncaught exceptions, 1
unexpected( ), 1
exception handling, 1
union
anonymous at file scope, 1
saving memory with, 1
unions, additional type checking, 1
unit buffering, iostream, 1
Unix, 1
unnamed arguments, 1
unnamed namespace, 1
unsigned, 1
untagged enum, 1
unusual operator overloading, 1
upcasting, 1, 2, 3
and multiple inheritance, 1, 2
and run-time type identification, 1
by value, 1
Urlocker, Zack, 1
use case, 1
user-defined data type, 1
user-defined type, 1
user-defined types, 1
using
declaration, for namespaces, 1
keyword, namespaces, 1
using iostreams, 1
using libraries , 1
V
value
preprocessor value substitution, 1
transforming character strings to typed values, 1
values, minimum and maximum, 1
variable
automatic, 1
defining, 1
file scope, 1
global, 1
going out of scope, 1
initializer for a static variable of a built-in type, 1
local, 1
point of definition, 1
register, 1
turning name into a string, 1
variable argument list, 1
variable argument list, 1
variable declaration syntax, 1
variance, 1
vector of change, 1, 2, 3, 4
vendor-defined run-time type identification, 1
virtual
abstract base classes and pure virtual functions, 1
adding new virtual functions in the derived class, 1
and efficiency, 1
and late binding, 1
assembly-language code generated by a virtual function, 1
behavior of virtual functions inside constructors, 1
destructor, 1, 2
destructors and virtual destructors, 1
function, 1, 2
function overriding, 1
keyword, 1
picturing virtual functions, 1
pure virtual function definitions, 1
run-time type identification without virtual functions, 1, 2
simulating virtual constructors, 1
size overhead of virtual functions, 1
virtual base classes, 1
virtual base classes with a default constructor, 1
virtual function calls in destructors, 1
virtual functions inside constructors, 1, 2
virtual keyword in derived-class declarations, 1
virtual memory, 1
visibility, 1
visitor pattern, 1
void, 1
argument list, 1
casting void pointers, 1
pointer, 1, 2, 3, 4, 5
void pointers and run-time type identification, 1
volatile, 1, 2
casting away const and/or volatile, 1
vpointer, abbreviated as VPTR, 1
VPTR, 1, 2, 3, 4, 5, 6, 7
installing by constructor, 1
VTABLE, 1, 2, 3, 4, 5, 6, 7, 8
and run-time type identification, 1
inheritance and the VTABLE, 1
W
Waldrop, M. Mitchell, 1
while, 1
wild-card, 1
wrapping, class, 1
write( ), 1
iostream read( ) and write( ), 1
ws, 1
X
XOR, 1
xor, ^ (bitwise exclusive-OR), 1
xor_eq, ^= (bitwise exclusive-OR-assignment), 1
Z
zero terminator, strstream, 1
^
^, 1
^=, 1
|
|, 1
|=, 1
||, 1
Contents | Prev


Contact: webmaster@codeguru.com
CodeGuru - the website for developers.
[an error occurred while processing this directive]