Accueil
>
Documentation
>
Thinking In
>
Thinking in C++, 2nd Edition, Volume 1
>
Index
Accueil
Curriculum Vitae
Réalisation
AdRotatorExt pour des publicités Flash, AdSense et en images
Laboratoire Virtuel de Systèmes Energétiques Solaires
Logiciel de Construction d’un Matériau Virtuel
CGAL - Implémentation de la méthode Crust
Base Spatiale VRML
Modélisation d’une station de péage en UML
Restricted Search Engine
NetWork JAVA: UDP, TCP & MultiCast
API StarOffice 6.0 Beta
Calendrier
Nash - Equilibre de Nash
JEs - Java English SpellChecker
STT - Strutures Textiles Tendues
GraphX - Programme de dessin sous DOS
Documentation
Messenger sur vos pages web
Rapport de Stage
Agibat - Modeleur 3D de structures en toiles tendues
CEMEF - Logiciel de construction d'un matériau virtuel
CSTB - Laboratoire Virtuel de Systèmes Energétiques Solaires
Thinking In JAVA & C++
Thinking in C++, 2nd Edition Volume 1
Thinking in C++, 2nd Edition Volume 2
Thinking in Java, 1st edition
Thinking in Java, 2nd edition
Thinking in Java, 3rd edition
Thinking in Patterns with Java
Thinking in Enterprise Java
Téléchargez
Insecticide DECIS
ToutVendre.Fr
Contact
English
Index
!
,
#
,
$
,
%
,
&
,
>
,
<
,
(
,
*
,
+
,
-
,
.
,
/
,
:
,
=
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
,
I
,
J
,
K
,
L
,
M
,
N
,
O
,
P
,
Q
,
R
,
S
,
T
,
U
,
V
,
W
,
X
,
Z
,
[
,
^
,
|
,
~
!
!,
1
!=,
1
#
#, preprocessor stringize operator,
1
#define,
1
,
2
,
3
,
4
#endif,
1
,
2
#ifdef,
1
,
2
#ifndef,
1
#include ,
1
#undef,
1
$
$<, in makefiles,
1
%
%,
1
&
&,
1
,
2
&&, logical and,
1
,
2
&, bitwise and,
1
&= bitwise,
1
>
>,
1
>>,
1
iostreams
operator,
1
overloading,
1
>>=,
1
>=,
1
<
<,
1
<<,
1
overloading for iostreams,
1
<<=,
1
<=,
1
(
( ), overloading the function call operator,
1
*
*,
1
overloaded operator,
1
,
2
pointer dereference,
1
+
+,
1
,
2
with pointers,
1
++,
1
with pointers,
1
-
-,
1
,
2
->
overloading the smart pointer operator,
1
struct member selection via pointer,
1
->*, overloading,
1
-, with pointers,
1
--,
1
--, with pointers,
1
.
. member selection operator,
1
... variable argument list,
1
varargs,
1
/
/,
1
:
: ternary if-else,
1
::,
1
,
2
scope resolution operator, and namespaces,
1
=
=,
1
operator
as a private function,
1
automatic creation,
1
operator, as a private function,
1
overloading,
1
==,
1
,
2
A
abort( ),
1
abstract
base classes and pure virtual functions,
1
data type,
1
,
2
abstraction,
1
access
control,
1
run-time,
1
function,
1
specifiers,
1
,
2
and object layout,
1
order for,
1
accessors,
1
actor, in use cases,
1
addition (+),
1
address
const,
1
each object must have a unique address,
1
element,
1
function,
1
,
2
memory,
1
object,
1
pass as const references,
1
passing and returning with const,
1
struct object,
1
address-of (&),
1
aggregate,
1
const aggregates,
1
initialization,
1
,
2
and structures,
1
aggregation,
1
algorithms, Standard C++ Library,
1
aliasing
namespace,
1
solving with reference counting and copy-on-write,
1
Allison, Chuck,
1
,
2
,
3
allocation
dynamic memory allocation,
1
,
2
memory, and efficiency,
1
storage,
1
alternate linkage specification,
1
ambiguity,
1
during automatic type conversion,
1
with namespaces,
1
analysis
and design, object-oriented,
1
paralysis,
1
requirements analysis,
1
and
& bitwise,
1
,
2
&& logical,
1
,
2
&& logical and,
1
and_eq, &= (bitwise and-assignment),
1
anonymous union,
1
ANSI Standard C++,
1
argc,
1
arguments
argument-passing guidelines,
1
command line,
1
,
2
const,
1
constructor,
1
default,
1
,
2
,
3
argument as a flag,
1
destructor,
1
empty argument list, C vs. C++,
1
function,
1
,
2
indeterminate list,
1
macro,
1
mnemonic names ,
1
name decoration,
1
overloading vs. default arguments,
1
passing,
1
placeholder,
1
preferred approach to argument passing,
1
references,
1
return values, operator overloading,
1
trailing and defaults,
1
unnamed,
1
variable argument list,
1
,
2
without identifiers,
1
argv,
1
arithmetic, pointer,
1
array,
1
automatic counting,
1
bounds-checked, using templates,
1
calculating size,
1
definition, limitations,
1
indexing, overloaded operator [],
1
initializing to zero,
1
inside a class,
1
making a pointer look like an array,
1
new & delete,
1
of pointers,
1
of pointers to functions ,
1
off-by-one error,
1
overloading new and delete for arrays,
1
pointers and,
1
static,
1
static initialization,
1
asctime( ),
1
assembly-language
asm in-line assembly-language keyword,
1
CALL,
1
code for a function call,
1
code generated by a virtual function,
1
RETURN,
1
assert( )
macro in Standard C,
1
assert( )
macro in Standard C,
1
,
2
assignment,
1
,
2
disallowing,
1
memberwise,
1
,
2
operator,
1
overloading,
1
pointer, const and non-const,
1
self-assignment in operator overloading,
1
assure( ),
1
from require.h,
1
atexit( ),
1
atof( ),
1
,
2
atoi( ),
1
atol( ),
1
auto keyword,
1
,
2
auto-decrement operator,
1
auto-increment operator,
1
,
2
automatic
counting, and arrays,
1
creation of operator=,
1
destructor calls,
1
type conversion,
1
,
2
pitfalls,
1
preventing with the keyword explicit,
1
variable,
1
,
2
,
3
B
backslash,
1
backspace,
1
bad_alloc,
1
base
abstract base classes and pure virtual functions,
1
base-class interface,
1
fragile base-class problem,
1
types,
1
virtual keyword in derived-class declarations,
1
basic concepts of object-oriented programming (OOP),
1
BASIC language,
1
,
2
Beck, Kent,
1
behavior,
1
binary operators,
1
examples of all overloaded,
1
overloaded,
1
binding
dynamic binding,
1
early,
1
,
2
function call binding,
1
,
2
late,
1
,
2
run-time binding,
1
bit bucket,
1
bit-shifting,
1
bitand, & (bitwise and),
1
bitcopy,
1
bitcopy, vs. initialization,
1
bitor, | (bitwise or),
1
bitwise
and operator &,
1
,
2
const,
1
exclusive-or, xor ^,
1
explicit bitwise and logical operators,
1
not ~,
1
operators,
1
or operator |,
1
,
2
bloat, code,
1
block
access,
1
and storage allocation,
1
definition,
1
Booch, Grady,
1
book
design & production,
1
errors, reporting,
1
bool,
1
,
2
Boolean,
1
,
2
,
3
algebra,
1
and floating point,
1
bool, true and false,
1
bounds-checked array, with templates,
1
break, keyword,
1
bucket, bit,
1
bugs
common pitfalls with operators,
1
finding,
1
from casts,
1
with temporaries,
1
built-in type,
1
basic,
1
initializer for a static variable ,
1
pseudoconstructor
calls for,
1
form for built-in types,
1
byte,
1
C
C,
1
#define,
1
backward compatibility,
1
C programmers learning C++,
1
C++ compatibility,
1
compiling with C++,
1
concepts,
1
const,
1
converting from C to C++,
1
,
2
difference with C++ when defining variables,
1
empty argument list, C vs. C++,
1
finding problems in old code,
1
function library,
1
fundamentals,
1
heap,
1
hole in the type system, via void*,
1
ISO Standard C,
1
libraries,
1
,
2
linkage,
1
linking compiled C code with C++,
1
name collisions,
1
operators and their use,
1
passing and returning variables by value,
1
pitfalls,
1
preprocessor,
1
safety hole during linking,
1
Standard library function
abort( ),
1
atexit( ),
1
exit( ),
1
Thinking in C CD ROM,
1
C++
automatic typedef for struct and class,
1
C compatibility,
1
C programmers learning C++,
1
cfront, original C++ compiler,
1
compiling C,
1
converting from C to C++,
1
,
2
data,
1
difference with C when defining variables,
1
efficiency,
1
empty argument list, C vs. C++,
1
explicit casts,
1
finding C errors by recompiling in C++,
1
first program,
1
GNU Compiler,
1
hybrid object-oriented language, and friend,
1
implicit structure address passing,
1
linking compiled C code with C++,
1
major language features,
1
meaning of the language name,
1
object-based C++,
1
one definition rule,
1
operators and their use,
1
programming guidelines,
1
Standard C++,
1
Standards Committee,
1
strategies for transition to,
1
stricter type checking,
1
strongly typed language,
1
why it succeeds,
1
c-v qualifier,
1
calculating array size,
1
CALL, assembly-language,
1
calling a member function for an object ,
1
calloc( ),
1
,
2
,
3
Carolan, John,
1
Carroll, Lewis,
1
case,
1
cassert standard header file,
1
cast,
1
,
2
,
3
,
4
,
5
,
6
C++ explicit casts,
1
casting away constness,
1
casting void pointers,
1
const_cast,
1
explicit cast for upcasting,
1
explicit keyword,
1
operators,
1
pointer assignment,
1
reinterpret cast,
1
static_cast,
1
cat, Cheshire,
1
catch clauses,
1
CD ROM
seminars on CD-ROM from MindView,
1
Thinking in C, Foundations for Java & C++ (packaged with book),
1
,
2
,
3
cfront, original C++ compiler,
1
chapter overviews,
1
char,
1
,
2
,
3
sizeof,
1
character,
1
array literals,
1
character array concatenation,
1
constants,
1
characteristics,
1
check for self-assignment in operator overloading,
1
Cheshire cat,
1
cin,
1
clashes, name,
1
class,
1
,
2
,
3
abstract base classes and pure virtual functions,
1
adding new virtual functions in the derived class,
1
aggregate initialization,
1
class definition and inline functions,
1
compile-time constants inside,
1
,
2
,
3
composition, and copy-constructor,
1
const and enum in,
1
container class templates and virtual functions,
1
creators,
1
declaration,
1
of a nested friend class,
1
defining the interface,
1
definition,
1
difference between a union and a class,
1
duplicate class definitions and templates,
1
fragile base-class problem,
1
generated by macro,
1
generated classes for templates,
1
handle class,
1
inheritance
and copy-constructor,
1
diagrams,
1
initialization, memberwise,
1
instance of,
1
keyword,
1
local,
1
nested,
1
iterator,
1
,
2
overloading new and delete for a class,
1
pointers in, and overloading operator=,
1
static class objects inside functions,
1
static data members,
1
static member functions,
1
templates,
1
using const with,
1
class-responsibility-collaboration (CRC) cards,
1
cleanup,
1
,
2
automatic destructor calls with inheritance and composition,
1
initialization and cleanup on the heap,
1
client programmer,
1
,
2
code
source availability,
1
table-driven,
1
assembly for a function call,
1
bloat,
1
comment tags in listings,
1
consulting, mentoring, and design and code walkthroughs from MindView,
1
generator,
1
organization,
1
header files,
1
program structure when writing code,
1
re-use,
1
collection,
1
,
2
collector, garbage,
1
collision, linker,
1
comma operator,
1
,
2
command line,
1
arguments,
1
comment tag
for linking,
1
in source-code listings,
1
comments, makefile,
1
committee, C++ Standards,
1
common interface,
1
compaction, heap,
1
compatibility
C & C++,
1
with C,
1
compilation
needless,
1
process,
1
separate,
1
separate, and make,
1
compile time constants,
1
compiler,
1
,
2
creating default constructor,
1
original C++ compiler cfront,
1
running,
1
support,
1
compiling C with C++,
1
compl, ~ ones complement,
1
complicated
declarations & definitions,
1
expressions, and operator overloading,
1
composite
array,
1
type creation,
1
composition,
1
,
2
,
3
combining composition & inheritance,
1
copy-constructor,
1
member object initialization,
1
vs. inheritance,
1
,
2
,
3
concatenation, character array,
1
concept, high,
1
conditional operator,
1
conditional, in for loop,
1
const,
1
,
2
address of,
1
aggregates,
1
casting away,
1
character array literals,
1
compile-time constants in classes,
1
const reference function arguments,
1
correctness,
1
enum in classes,
1
evaluation point of,
1
extern,
1
function arguments and return values,
1
in C,
1
initializing data members,
1
logical,
1
member function,
1
and objects,
1
mutable,
1
pass addresses as const references,
1
pointer to const,
1
pointers,
1
reference,
1
,
2
and operator overloading,
1
return by value as const,
1
and operator overloading,
1
safety,
1
temporaries are automatically const,
1
constant,
1
character,
1
compile-time,
1
inside classes,
1
folding,
1
,
2
named,
1
templates, constants in,
1
values,
1
constructor,
1
,
2
,
3
,
4
arguments,
1
automatic type conversion,
1
behavior of virtual functions inside constructors,
1
copy-constructor,
1
,
2
,
3
,
4
,
5
alternatives to,
1
vs. operator=,
1
creating a new object from an existing object,
1
default,
1
,
2
,
3
,
4
,
5
inheritance,
1
synthesized by the compiler,
1
doesn’t automatically inherit,
1
efficiency,
1
global object,
1
initialization and cleanup on the heap,
1
initializer list,
1
,
2
,
3
pseudoconstructors,
1
inline,
1
installing the VPTR,
1
memberwise initialization,
1
name,
1
new operator, memory exhaustion,
1
order of construction with inheritance,
1
order of constructor calls,
1
and destructor calls,
1
overloading,
1
,
2
private,
1
pseudo-constructor,
1
return value,
1
tracking creations and destructions,
1
virtual functions & constructors,
1
const_cast,
1
consulting, mentoring, and design and code walkthroughs from MindView,
1
container,
1
,
2
container class templates and virtual functions,
1
delete,
1
iterators,
1
new, delete, and containers,
1
ownership,
1
,
2
,
3
polymorphism ,
1
Standard C++ Library,
1
vector,
1
context, and overloading,
1
continuation, namespace,
1
continue, keyword,
1
control
access,
1
,
2
run-time,
1
access specifiers,
1
expression, used with a for loop,
1
controlling
execution,
1
linkage,
1
conversion
automatic type conversion,
1
narrowing conversions,
1
pitfalls in automatic type conversion,
1
preventing automatic type conversion with the keyword explicit,
1
to numbers from char*,
1
converting from C to C++,
1
,
2
copy-constructor,
1
,
2
,
3
,
4
,
5
,
6
,
7
alternatives,
1
composition,
1
default,
1
inheritance,
1
private,
1
,
2
upcasting and the copy-constructor,
1
vs. operator=,
1
copy-on-write (COW),
1
copying pointers inside classes,
1
copyright notice, source code,
1
correctness, const,
1
costs, startup,
1
counting
automatic, and arrays,
1
reference,
1
cout,
1
,
2
cover design, book,
1
CRC, class-responsibility-collaboration cards,
1
creating
functions in C and C++,
1
new object from an existing object,
1
objects on the heap,
1
crisis, software,
1
cstdlib standard header file,
1
cstring standard header file,
1
D
data
defining storage for static members,
1
initializing const members,
1
static area,
1
static members inside a class,
1
data type
abstract,
1
,
2
built-in,
1
equivalence to class,
1
user-defined,
1
debugging,
1
assert() macro,
1
flags,
1
preprocessor flags,
1
require.h,
1
run-time,
1
using the preprocessor,
1
decimal,
1
declaration,
1
,
2
all possible combinations,
1
analyzing complex,
1
and definition,
1
class,
1
nested friend,
1
const,
1
forward,
1
function,
1
,
2
,
3
declaration syntax,
1
not essential in C,
1
header files,
1
,
2
structure,
1
using, for namespaces,
1
variable
declaration syntax,
1
point of declaration & scope,
1
virtual,
1
base-class declarations,
1
derived-class declarations,
1
decoration, name,
1
,
2
,
3
,
4
overloading,
1
decoupling,
1
via polymorphism,
1
decrement,
1
,
2
and increment operators,
1
overloading operator,
1
default
argument,
1
,
2
,
3
as a flag,
1
vs. overloading,
1
constructor,
1
,
2
,
3
,
4
,
5
inheritance,
1
copy-constructor,
1
default values in templates,
1
keyword,
1
defining
function pointer,
1
initializing at the same time,
1
initializing variables,
1
variable,
1
anywhere in the scope,
1
definition,
1
array,
1
block,
1
class,
1
complex function definitions,
1
const,
1
declaration,
1
duplicate class definitions and templates,
1
formatting pointer definitions,
1
function,
1
non-inline template member function definitions,
1
object,
1
pure virtual function definitions,
1
storage for static data members,
1
structure definition in a header file,
1
delete,
1
,
2
,
3
calling delete for zero,
1
delete-expression,
1
,
2
keyword,
1
multiple deletions of the same object,
1
new
and containers,
1
for arrays,
1
overloading new and delete,
1
array,
1
class,
1
global,
1
void*, deleting is a bug,
1
zero pointer,
1
Demarco, Tom,
1
dependency
makefile,
1
static initialization,
1
deprecation, of ++ with a bool flag,
1
dereference
*,
1
dereferencing function pointers,
1
pointer,
1
derived
adding new virtual functions in the derived class,
1
types,
1
virtual keyword in derived-class declarations,
1
design
analysis and design, object-oriented,
1
book
cover,
1
design and production,
1
consulting, mentoring, and design and code walkthroughs from MindView,
1
five stages of object design,
1
inlines,
1
mistakes,
1
pattern, iterator,
1
patterns,
1
,
2
destructor,
1
automatic destructor calls,
1
with inheritance and composition,
1
doesn’t automatically inherit ,
1
explicit destructor call,
1
initialization and cleanup on the heap,
1
inlines,
1
order of constructor and destructor calls,
1
pure virtual destructor,
1
scope,
1
static objects,
1
tracking creations and destructions,
1
virtual destructor,
1
,
2
,
3
,
4
virtual function calls in destructors,
1
development, incremental,
1
diagram
class inheritance diagrams,
1
inheritance,
1
use case,
1
directive
preprocessor,
1
using, namespaces,
1
,
2
header files,
1
directly accessing structure,
1
disallowing assignment,
1
dispatching, double/multiple,
1
division (/),
1
do-while,
1
double,
1
dispatching, and multiple dispatching,
1
double precision floating point,
1
internal format,
1
downcast
static_cast,
1
type-safe,
1
duplicate class definitions and templates,
1
dynamic
binding,
1
memory allocation,
1
,
2
object creation,
1
,
2
,
3
,
4
type checking,
1
dynamic_cast,
1
E
early binding,
1
,
2
,
3
,
4
edition, 2nd, what’s new in,
1
efficiency,
1
C++,
1
constructor,
1
creating and returning objects,
1
inlines,
1
memory allocation,
1
references,
1
trap of premature optimization,
1
virtual functions,
1
elegance, in programming,
1
Ellis, Margaret,
1
else,
1
embedded
object,
1
systems,
1
encapsulation,
1
,
2
end sentinel, iterator,
1
,
2
,
3
enum
and const in classes,
1
clarifying programs with,
1
hack,
1
incrementing,
1
keyword,
1
type checking,
1
untagged,
1
,
2
equivalence,
1
==,
1
error
exception handling,
1
off-by-one,
1
preventing with common header files,
1
reporting errors in book,
1
structure redeclaration,
1
escape sequences,
1
evaluation order, inline,
1
evolution, in program development,
1
exception handling,
1
,
2
simple use,
1
executing code
after exiting main( ),
1
,
2
before entering main( ),
1
execution
controlling,
1
point,
1
exercise solutions,
1
exit( ),
1
,
2
explicit
cast,
1
C++,
1
for upcasting,
1
keyword to prevent automatic type conversion,
1
exponential,
1
notation,
1
exponentiation, no operator,
1
expressions, complicated, and operator overloading,
1
extending a class during inheritance,
1
extensible program,
1
extern,
1
,
2
,
3
,
4
,
5
,
6
,
7
const,
1
,
2
to link C code,
1
external
linkage,
1
,
2
,
3
,
4
references, during linking,
1
extractor and inserter, overloading for iostreams,
1
Extreme Programming (XP),
1
,
2
,
3
F
factory, design pattern,
1
false,
1
,
2
,
3
and true, in conditionals,
1
bool, true and false,
1
fan-out, automatic type conversion,
1
Fibonacci,
1
fibonacci( ),
1
file
header,
1
,
2
,
3
code organization,
1
const,
1
namespaces,
1
names,
1
reading and writing,
1
scope,
1
,
2
,
3
static,
1
,
2
,
3
,
4
structure definition in a header file,
1
flags, debugging,
1
floating point
float,
1
,
2
float.h,
1
internal format,
1
number size hierarchy,
1
numbers,
1
,
2
true and false,
1
for
defining variables inside the control expression,
1
loop,
1
,
2
loop counter, defined inside control expression,
1
variable lifetime in for loops,
1
formatting pointer definitions,
1
forward
declaration,
1
reference, inline,
1
Fowler, Martin,
1
,
2
,
3
fragile base-class problem,
1
fragmentation, heap,
1
,
2
free store,
1
free( ),
1
,
2
,
3
,
4
,
5
free-standing reference,
1
friend,
1
,
2
declaration of a nested friend class,
1
global function,
1
injection into namespace,
1
member function,
1
nested structure,
1
structure,
1
fstream,
1
function,
1
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
address,
1
,
2
argument,
1
const,
1
const reference ,
1
reference,
1
array of pointers to,
1
assembly-language code generated
function call,
1
virtual function call,
1
binding, for a function call,
1
,
2
body,
1
C library,
1
call operator( ),
1
call overhead,
1
,
2
called for side effect,
1
complicated function definitions,
1
constructors, behavior of virtual functions inside,
1
creating,
1
declaration,
1
,
2
,
3
not essential in C,
1
required,
1
syntax,
1
definition,
1
empty argument list, C vs. C++,
1
expanding the function interface,
1
global,
1
friend,
1
helper, assembly,
1
inline,
1
,
2
,
3
header files,
1
local class (class defined inside a function),
1
member function,
1
,
2
calling
a member function,
1
another member function from within a member function,
1
base-class functions,
1
const,
1
,
2
friend,
1
inheritance and static member functions,
1
overloaded operator,
1
selection,
1
objects,
1
overloading,
1
operator,
1
using declaration, namespaces,
1
overriding,
1
pass-by reference & temporary objects,
1
pointer
defining,
1
to member function,
1
using a function pointer,
1
polymorphic function call,
1
prototyping,
1
pure virtual function definitions,
1
redefinition during inheritance,
1
return value
by reference,
1
returning a value,
1
type,
1
void,
1
signature,
1
stack frame for a function call ,
1
static
class objects inside functions,
1
member,
1
,
2
,
3
objects inside functions,
1
variables inside functions,
1
templates,
1
type,
1
unique identifier for each,
1
variable argument list,
1
virtual function,
1
,
2
constructor,
1
overriding,
1
picturing,
1
G
garbage collector,
1
,
2
generic algorithm,
1
get and set functions,
1
get( ),
1
getline( )
and string,
1
from iostreams library,
1
Glass, Robert,
1
global
friend function,
1
functions,
1
new and delete, overloading,
1
object constructor,
1
operator, overloaded,
1
scope resolution,
1
static initialization dependency of global objects,
1
variables,
1
GNU C++,
1
Gorlen, Keith,
1
goto,
1
,
2
,
3
non-local,
1
greater than
>,
1
or equal to (>=),
1
guaranteed initialization,
1
,
2
guards, include, on header files,
1
guidelines
argument passing,
1
C++ programming guidelines,
1
object development,
1
H
hack, enum,
1
handle classes,
1
,
2
has-a,
1
composition,
1
header file,
1
,
2
,
3
,
4
,
5
,
6
,
7
code organization,
1
enforced use of in C++,
1
formatting standard,
1
include guards,
1
inline definitions,
1
internal linkage,
1
namespaces,
1
new file include format,
1
order of inclusion,
1
templates,
1
,
2
using directives,
1
importance of using a common header file,
1
multiple inclusion,
1
structure definition in a header file,
1
heap,
1
,
2
C heap,
1
compactor,
1
creating objects,
1
fragmentation,
1
,
2
guaranteeing that all objects are created on the heap,
1
storage allocation,
1
simple example system,
1
helper function, assembly,
1
hexadecimal,
1
hiding
function names inside a struct,
1
implementation,
1
,
2
,
3
,
4
names
during inheritance,
1
during overloading,
1
variables from the enclosing scope,
1
hierarchy, singly-rooted/object-based,
1
,
2
high concept,
1
high-level assembly language,
1
hostile programmers,
1
hybrid
C++, hybrid object-oriented language, and friend,
1
object-oriented programming language,
1
I
identifier
unique for each function,
1
unique for each object,
1
IEEE standard for floating-point numbers,
1
,
2
if-else,
1
defining variables inside the conditional,
1
statement,
1
ternary ?:,
1
ifstream,
1
,
2
implementation,
1
,
2
and interface, separating,
1
,
2
,
3
,
4
hiding,
1
,
2
,
3
,
4
compile-time only,
1
implicit type conversion,
1
in situ inline functions,
1
in-memory compilation,
1
include,
1
include guards, in header files,
1
,
2
new include format,
1
incomplete type specification,
1
,
2
increment,
1
,
2
and decrement operators,
1
incrementing and enumeration,
1
overloading operator ++,
1
incremental
development,
1
programming,
1
indeterminate argument list,
1
indexing
array, using [ ],
1
,
2
zero,
1
inheritance,
1
,
2
,
3
,
4
choosing composition vs. inheritance,
1
class inheritance diagrams,
1
combining composition & inheritance,
1
copy-constructor,
1
diagram,
1
extending a class during,
1
extensibility,
1
function redefinition,
1
initialization,
1
is-a,
1
,
2
multiple,
1
,
2
,
3
,
4
,
5
name hiding,
1
operator overloading & inheritance,
1
order of construction,
1
private inheritance,
1
protected inheritance,
1
public inheritance,
1
static member functions,
1
subtyping,
1
virtual function calls in destructors,
1
vs. composition,
1
,
2
VTABLE,
1
initialization,
1
,
2
aggregate,
1
,
2
array
elements,
1
to zero,
1
const data members,
1
const inside class,
1
constructor,
1
constructor initializer list,
1
,
2
,
3
definition, simultaneous,
1
for loop,
1
,
2
guaranteed,
1
,
2
during inheritance,
1
initialization and cleanup on the heap,
1
initializer for a static variable of a built-in type,
1
lazy,
1
member object initialization,
1
memberwise,
1
,
2
object using =,
1
static
array,
1
const,
1
dependency,
1
member ,
1
zero initialization by the linking-loading mechanism,
1
variables at point of definition,
1
vs. bitcopy,
1
injection, friend into namespace,
1
inline,
1
,
2
class definition,
1
constructor efficiency,
1
constructors,
1
convenience,
1
definitions and header files,
1
destructors,
1
effectiveness,
1
efficiency,
1
function,
1
,
2
,
3
header files,
1
in situ,
1
limitations,
1
non-inline template member function definitions,
1
order of evaluation,
1
templates,
1
input
reading by words,
1
standard,
1
insert( ),
1
inserter and extractor, overloading for iostreams,
1
instance of a class,
1
instantiation, template,
1
int,
1
interface,
1
base-class interface,
1
common interface,
1
defining the class,
1
expanding function interface,
1
for an object,
1
implementation, separation of,
1
,
2
,
3
,
4
implied by a template,
1
user,
1
internal linkage,
1
,
2
,
3
,
4
,
5
interpreters,
1
interrupt service routine (ISR),
1
,
2
iostreams,
1
get( ),
1
getline( ),
1
global overloaded new & delete
interaction with,
1
limitations of,
1
manipulators,
1
overloading << and >>,
1
reading and writing files,
1
reading input,
1
setf( ),
1
strings with iostreams,
1
width( ),
1
is-a
inheritance,
1
,
2
vs. is-like-a relationships,
1
ISO Standard
C,
1
fundamentals,
1
C++,
1
header files,
1
istream, overloading operator >>,
1
iteration, in program development,
1
iterator,
1
,
2
,
3
containers,
1
motivation,
1
nested class,
1
Standard C++ Library,
1
J
Jacobsen, Ivar,
1
Java,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
K
K&R C,
1
keywords
#define,
1
,
2
#endif,
1
,
2
#ifdef,
1
#include ,
1
‘.’ (member selection operator),
1
&,
1
( ), function call operator overloading,
1
*,
1
,
2
->,
1
overloading,
1
struct member selection via pointer,
1
->*,
1
overloading,
1
.*,
1
::,
1
,
2
=,
1
overloading,
1
,
2
asm, for in-line assembly language ,
1
auto,
1
,
2
bool,
1
true and false,
1
break,
1
case,
1
catch,
1
char,
1
,
2
,
3
class,
1
,
2
,
3
const,
1
,
2
,
3
const_cast,
1
continue,
1
default ,
1
delete,
1
,
2
do,
1
double,
1
,
2
dynamic_cast,
1
else,
1
enum,
1
,
2
untagged,
1
explicit,
1
extern,
1
,
2
,
3
,
4
,
5
,
6
for alternate linkage,
1
false,
1
,
2
float,
1
,
2
for,
1
,
2
friend,
1
goto,
1
,
2
,
3
if,
1
inline,
1
,
2
int,
1
long,
1
long double,
1
long float (not legal),
1
mutable,
1
namespace,
1
,
2
,
3
new,
1
,
2
operator,
1
private,
1
,
2
,
3
,
4
protected,
1
,
2
,
3
public,
1
register,
1
,
2
reinterpret_cast,
1
return,
1
short,
1
signed,
1
signed char,
1
sizeof,
1
,
2
,
3
with struct,
1
static,
1
,
2
,
3
static_cast,
1
,
2
struct,
1
,
2
switch,
1
,
2
template,
1
,
2
this,
1
,
2
,
3
,
4
,
5
throw,
1
true,
1
,
2
try,
1
typedef,
1
typeid,
1
union,
1
,
2
anonymous,
1
unsigned,
1
using,
1
,
2
virtual,
1
,
2
,
3
,
4
,
5
,
6
,
7
void,
1
void& (illegal),
1
void*,
1
,
2
volatile,
1
while,
1
,
2
Koenig, Andrew,
1
,
2
,
3
L
Lajoie, Josee,
1
Lakos, John,
1
,
2
language
C++ is a more strongly typed language,
1
C++, hybrid object-oriented language, and friend,
1
hybrid object-oriented programming language,
1
large programs, creation of,
1
late binding,
1
,
2
implementing,
1
layout, object, and access control,
1
lazy initialization,
1
leading underscore, on identifiers (reserved),
1
leaks, memory,
1
,
2
left-shift operator <<,
1
less than
<,
1
or equal to <=,
1
library,
1
,
2
,
3
,
4
C,
1
code,
1
creating your own with the librarian,
1
issues with different compilers,
1
Standard C function
abort( ),
1
atexit( ),
1
exit( ),
1
lifetime
for loop variables,
1
object,
1
,
2
temporary objects,
1
limits.h,
1
linkage,
1
,
2
alternate linkage specification,
1
controlling,
1
external,
1
,
2
,
3
internal,
1
,
2
,
3
,
4
no linkage,
1
,
2
type-safe,
1
linked list,
1
,
2
,
3
linker,
1
,
2
,
3
collision,
1
external references,
1
object file order,
1
pre-empting a library function ,
1
searching libraries,
1
,
2
unresolved references,
1
Lippman, Stanley,
1
list
constructor initializer,
1
,
2
linked,
1
,
2
,
3
Lister, Timothy,
1
local
array,
1
classes,
1
static object,
1
variable,
1
,
2
logarithm,
1
logical
and &&,
1
const,
1
explicit bitwise and logical operators,
1
not !,
1
operators,
1
,
2
or ||,
1
long,
1
,
2
long double,
1
,
2
longjmp( ),
1
loop
for,
1
loop counter, defined inside control expression ,
1
variable lifetime in for loops ,
1
while,
1
Love, Tom,
1
lvalue,
1
,
2
,
3
M
machine instructions,
1
macro
argument,
1
makefile,
1
preprocessor,
1
,
2
,
3
macros for parameterized types, instead of templates,
1
unsafe,
1
to generate classes,
1
magic numbers, avoiding,
1
main( )
basic form,
1
main( )
executing code after exiting,
1
executing code before entering,
1
maintenance, program,
1
make,
1
dependencies,
1
suffix rules,
1
SUFFIXES,
1
macros,
1
makefile,
1
,
2
malloc( ),
1
,
2
,
3
,
4
,
5
behavior, not deterministic in time,
1
management obstacles,
1
mangling, name,
1
,
2
,
3
and overloading,
1
mathematical operators,
1
Matson, Kris C.,
1
member
defining storage for static data member,
1
initializing const data members,
1
member function,
1
,
2
calling,
1
calling another member function from within a member function,
1
const,
1
,
2
four member functions the compiler synthesizes,
1
friend,
1
non-inline template member function definitions,
1
return type,
1
selection,
1
signature,
1
static,
1
,
2
,
3
and inheritance,
1
object,
1
object initialization,
1
overloaded member operator,
1
pointers to members,
1
selection operator,
1
static data member inside a class,
1
vs. non-member operators,
1
memberwise
assignment,
1
,
2
const,
1
initialization,
1
,
2
memcpy( ),
1
standard C library function,
1
memory,
1
allocation and efficiency,
1
dynamic memory allocation,
1
,
2
leak,
1
,
2
finding with overloaded new and delete,
1
from delete void*,
1
management
example of,
1
reference counting,
1
memory manager overhead,
1
read-only (ROM),
1
simple storage allocation system,
1
memset( ),
1
,
2
,
3
,
4
mentoring
and training,
1
,
2
consulting, mentoring, and design and code walkthroughs from MindView,
1
message, sending,
1
,
2
,
3
methodology, analysis and design,
1
Meyers, Scott,
1
,
2
,
3
MindView
public hands-on training seminars,
1
seminars-on-CD-ROM,
1
minimum size of a struct,
1
mission statement,
1
mistakes, and design,
1
modulus (%),
1
Moo, Barbara,
1
Mortensen, Owen,
1
multi-way selection,
1
multiparadigm programming,
1
multiple
dispatching,
1
inclusion of header files,
1
inheritance,
1
,
2
,
3
,
4
,
5
multiple-declaration problem,
1
multiplication (*),
1
multitasking and volatile,
1
Murray, Rob,
1
,
2
mutable,
1
bitwise vs. logical const,
1
mutators,
1
N
name
clashes,
1
collisions, in C,
1
decoration,
1
,
2
,
3
,
4
no standard for,
1
overloading and,
1
file,
1
hiding, during inheritance,
1
mangling,
1
,
2
,
3
and overloading,
1
named constant,
1
namespace,
1
,
2
,
3
aliasing,
1
ambiguity,
1
continuation,
1
header files,
1
injection of friends,
1
referring to names in,
1
single name space for functions in C,
1
std,
1
unnamed,
1
using,
1
declaration,
1
and overloading,
1
directive,
1
and header files,
1
naming the constructor,
1
narrowing conversions,
1
NDEBUG,
1
needless recompilation,
1
nested
class,
1
friend structure,
1
iterator class,
1
,
2
scopes,
1
structures,
1
new,
1
,
2
and delete for arrays,
1
array of pointers,
1
delete and containers,
1
keyword,
1
new-expression,
1
,
2
,
3
new-handler,
1
operator new,
1
constructor, memory exhaustion ,
1
exhausting storage,
1
placement specifier,
1
overloading
can take multiple arguments,
1
new and delete,
1
for a class,
1
for arrays,
1
global,
1
newline,
1
no linkage,
1
,
2
non-local goto,
1
not
bitwise,
1
equivalent !=,
1
logical not !,
1
not_eq, != (logical not-equivalent),
1
nuance, and overloading,
1
NULL references,
1
,
2
number, conversion to numbers from char*,
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 of,
1
definition point,
1
destruction of static,
1
dynamic object creation,
1
,
2
file,
1
order during linking,
1
five stages of object design,
1
function objects,
1
global constructor,
1
guidelines for object development,
1
interface to,
1
layout, and access control,
1
lifetime of an object,
1
,
2
local static,
1
member,
1
module,
1
object-based,
1
object-based C++,
1
outside,
1
pass by value,
1
passing and returning large objects,
1
scope, going out of,
1
size,
1
forced to be non-zero,
1
slicing,
1
,
2
static
class objects inside functions,
1
,
2
initialization dependency,
1
temporary,
1
,
2
,
3
,
4
unique address, each object,
1
object-based/singly-rooted hierarchy,
1
,
2
object-oriented
analysis and design,
1
basic concepts of object-oriented programming (OOP),
1
C++, hybrid object-oriented language, and friend,
1
hybrid object-oriented programming language,
1
obstacles, management,
1
octal,
1
off-by-one error,
1
ofstream,
1
,
2
as a static object,
1
one-definition rule,
1
,
2
ones complement operator,
1
OOP,
1
analysis and design,
1
basic characteristics,
1
basic concepts of object-oriented programming,
1
Simula programming language,
1
substitutability,
1
summarized,
1
operator,
1
&,
1
>> and iostreams,
1
<< overloading to use with ostream,
1
( ), function call,
1
*,
1
,
2
,
3
-> smart pointer,
1
->* pointer to member,
1
=,
1
as a private function,
1
automatic creation,
1
behavior of,
1
doesn’t automatically inherit ,
1
memberwise assignment,
1
private,
1
vs. copy-constructor,
1
?: ternary if-else,
1
assignment,
1
auto-increment ++,
1
binary
operators,
1
overloaded,
1
overloading examples,
1
bitwise,
1
bool behavior with built-in operators,
1
C & C++,
1
casting,
1
choosing between member and non-member overloading, guidelines,
1
comma,
1
,
2
complicated expressions with operator overloading,
1
explicit bitwise and logical operators,
1
fan-out in automatic type conversion,
1
global
overloaded,
1
scope resolution ::,
1
increment ++ and decrement --,
1
logical,
1
,
2
member vs. non-member,
1
new,
1
exhausting storage ,
1
new-expression,
1
placement specifier,
1
no exponentiation,
1
no user-defined,
1
ones-complement,
1
operators you can’t overload,
1
overloading,
1
,
2
,
3
,
4
arguments and return values,
1
check for self-assignment,
1
inheritance,
1
member function,
1
operators that can be overloaded,
1
reflexivity,
1
return type,
1
virtual functions,
1
[ ],
1
pitfalls,
1
postfix increment & decrement,
1
precedence,
1
prefix increment & decrement,
1
preprocessor stringize operator #,
1
relational,
1
scope resolution ::,
1
,
2
,
3
and namespaces,
1
for calling base-class functions,
1
shift,
1
sizeof,
1
type conversion overloading,
1
unary,
1
,
2
overloaded,
1
overloading examples,
1
unusual overloaded,
1
[ ],
1
,
2
,
3
++,
1
member selection,
1
optimization
inlines,
1
return value optimization,
1
optimizer
peephole,
1
global,
1
or
| bitwise,
1
|| logical,
1
,
2
,
3
order
access specifiers,
1
constructor and destructor calls,
1
constructor calls,
1
organization, code,
1
header files,
1
or_eq, |= (bitwise or-assignment),
1
ostream,
1
overloading operator <<,
1
,
2
output, standard,
1
outside object,
1
overhead
assembly-language code generated by a virtual function,
1
function call,
1
,
2
memory manager,
1
size overhead of virtual functions,
1
overloading,
1
<< and >> for iostreams,
1
assignment,
1
choosing between members and non-members, guidelines,
1
constructor,
1
default arguments, difference with overloading,
1
fan-out in automatic type conversion,
1
function,
1
function call operator( ),
1
global operators vs. member operators,
1
namespaces, using declaration,
1
new & delete,
1
new and delete
array,
1
class,
1
global,
1
on return values,
1
operator,
1
<< to use with ostream,
1
++,
1
-> smart pointer operator,
1
->* pointer-to-member,
1
inheritance,
1
operators that can be overloaded,
1
operators that can’t be overloaded,
1
overloading reflexivity,
1
type conversion,
1
virtual functions,
1
[ ],
1
operator ,
1
overriding, difference,
1
pitfalls in automatic type conversion,
1
overriding,
1
and overloading,
1
during inheritance,
1
function,
1
overview, chapters,
1
ownership,
1
,
2
,
3
,
4
and containers,
1
,
2
,
3
,
4
P
pair programming,
1
paralysis, analysis,
1
parsing,
1
parse tree,
1
pass-by-reference,
1
pass-by-value,
1
,
2
and arrays,
1
passing
and returning
addresses,
1
addresses, with const,
1
by value, C,
1
large objects,
1
by value,
1
,
2
,
3
temporaries,
1
patterns, design,
1
,
2
iterator,
1
performance issues,
1
Perl,
1
pitfall
automatic type conversion,
1
C,
1
operators,
1
preprocessor,
1
placeholder arguments,
1
placement, operator new placement specifier,
1
planning, software development,
1
Plauger, P.J.,
1
Plum, Tom,
1
,
2
,
3
point, sequence,
1
,
2
pointer,
1
,
2
,
3
,
4
,
5
argument passing, vs. references,
1
arithmetic,
1
array,
1
making a pointer look like an array,
1
of pointers,
1
assignments, const and non-const,
1
classes containing, and overloading operator=,
1
const,
1
,
2
formatting definitions,
1
introduction,
1
member, pointer to,
1
function,
1
overloading,
1
pointer & reference upcasting,
1
pointer to function
array of,
1
defining,
1
using,
1
reference to pointer,
1
reference, difference,
1
smart pointer,
1
square brackets,
1
stack,
1
struct, member selection with ->,
1
upcasting,
1
void,
1
,
2
,
3
,
4
void*,
1
vs. reference when modifying outside objects,
1
polymorphism,
1
,
2
,
3
,
4
,
5
,
6
containers,
1
polymorphic function call,
1
vs. downcasting,
1
post-decrement --,
1
post-increment ++,
1
postconditions,
1
postfix operator increment & decrement,
1
pre-decrement --,
1
pre-increment ++,
1
precedence, operator,
1
preconditions,
1
prefix operator increment & decrement,
1
preprocessor,
1
,
2
,
3
#define, #ifdef and #endif,
1
and scoping,
1
debugging flags,
1
macro,
1
,
2
,
3
unsafe,
1
pitfall,
1
problems,
1
string concatenation,
1
stringizing,
1
token pasting,
1
value substitution,
1
prerequisites, for this book,
1
preventing automatic type conversion with the keyword explicit,
1
printf( ),
1
private,
1
,
2
,
3
,
4
,
5
,
6
copy-constructor,
1
private inheritance,
1
problem space,
1
process,
1
production, and book design,
1
program
maintenance,
1
structure when writing code,
1
programmer, client,
1
,
2
programming
basic concepts of object-oriented programming (OOP),
1
Extreme Programming (XP),
1
,
2
,
3
in the large,
1
incremental process,
1
multiparadigm,
1
pair,
1
programs, calling other,
1
project building tools,
1
promotion,
1
automatic type conversion,
1
protected,
1
,
2
,
3
,
4
inheritance,
1
prototyping
function,
1
rapid,
1
pseudoconstructor, for built-in types,
1
,
2
,
3
public,
1
,
2
inheritance,
1
seminars,
1
pure
abstract base classes and pure virtual functions,
1
C++, hybrid object-oriented language, and friend,
1
substitution,
1
virtual destructor,
1
virtual function definitions,
1
push-down stack,
1
push_back( ), for vector,
1
putc( ),
1
puts( ),
1
Python,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
Q
qualifier, c-v,
1
R
ranges, used by containers and iterators in the Standard C++ Library,
1
rapid prototyping,
1
re-declaration of classes, preventing,
1
re-entrant,
1
read-only memory (ROM),
1
reading
files,
1
input by words,
1
realloc( ),
1
,
2
,
3
recompiling C programs in C++,
1
recursion,
1
,
2
and inline functions,
1
redefining during inheritance,
1
reducing recompilation,
1
refactoring,
1
reference,
1
,
2
,
3
C++,
1
const,
1
,
2
and operator overloading,
1
for argument passing,
1
efficiency,
1
external, during linking,
1
free-standing,
1
function,
1
NULL,
1
,
2
passing const,
1
pointer & reference upcasting,
1
pointer, reference to a pointer,
1
reference counting,
1
,
2
rules,
1
upcasting,
1
void reference (illegal),
1
vs. pointer when modifying outside objects,
1
reflexivity, in operator overloading,
1
register,
1
variables,
1
reinterpret_cast,
1
relational operators,
1
reporting errors in book,
1
request, in OOP,
1
require( ),
1
,
2
,
3
require.h,
1
,
2
,
3
,
4
function definitions,
1
requireArgs( ), from require.h,
1
requirements analysis,
1
resolution, scope
global,
1
nested structures,
1
operator ::,
1
resolving references,
1
return
by value,
1
by value as const, and operator overloading,
1
const value,
1
constructor return value,
1
efficiency when creating and returning objects,
1
function return values, references,
1
keyword,
1
operator
overloaded return type,
1
overloading arguments and return values,
1
overloading on return values,
1
passing and returning by value, C,
1
passing and returning large objects,
1
references to local objects,
1
type,
1
value,
1
from a function,
1
optimization,
1
semantics,
1
void,
1
RETURN, assembly-language,
1
reusability,
1
reuse,
1
code reuse,
1
existing class libraries,
1
source code reuse with templates,
1
templates,
1
right-shift operator (>>),
1
ROM, read-only memory, ROMability,
1
rotate,
1
bit manipulation,
1
RTTI, run-time type identification,
1
,
2
rule, makefile,
1
Rumbaugh, James,
1
run-time
access control,
1
binding,
1
debugging flags,
1
type identification (RTTI),
1
,
2
rvalue,
1
,
2
S
safe union,
1
Saks, Dan,
1
,
2
,
3
,
4
scenario,
1
scheduling,
1
Schwarz, Jerry,
1
scope,
1
,
2
,
3
,
4
consts,
1
file,
1
,
2
going out of,
1
hide variables from the enclosing scope,
1
preprocessor,
1
resolution
global,
1
nested structures,
1
operator ::,
1
,
2
and namespaces,
1
for calling base-class functions,
1
scoped variable,
1
static member initialization,
1
storage allocation,
1
use case,
1
second edition, what’s new,
1
security,
1
selection
member function,
1
multi-way,
1
self-assignment, checking for in operator overloading,
1
,
2
semantics, return value,
1
seminars
on CD-ROM, from MindView,
1
public,
1
training seminars from MindView,
1
sending a message,
1
,
2
,
3
sentinel, end,
1
,
2
separate compilation,
1
,
2
and make,
1
separation of interface and implementation,
1
,
2
,
3
sequence point,
1
,
2
set
<set> standard header file,
1
and get functions,
1
container class from the Standard C++ Library,
1
setf( ), iostreams,
1
setjmp( ),
1
SGI (Silicon Graphics) STL project,
1
shape
example,
1
hierarchy,
1
shift operators,
1
short,
1
side effect,
1
,
2
signature,
1
signed,
1
char,
1
Silicon Graphics (SGI) STL project,
1
Simula programming language,
1
,
2
single-precision floating point,
1
singly-rooted/object-based hierarchy,
1
,
2
size
built-in types,
1
object,
1
forced to be nonzero,
1
size_t,
1
storage,
1
struct,
1
word,
1
sizeof,
1
,
2
,
3
,
4
char,
1
struct,
1
slicing
object slicing,
1
Smalltalk,
1
,
2
,
3
,
4
,
5
smart pointer operator ->,
1
,
2
software
crisis,
1
development methodology,
1
solution space,
1
solutions, exercise,
1
source code availability,
1
source-level debugger,
1
space
problem,
1
solution,
1
specification
incomplete type,
1
,
2
system specification,
1
specifier
access specifiers,
1
,
2
no required order in a class,
1
to modify basic built-in types,
1
specifying storage allocation,
1
sstream standard header file,
1
stack,
1
,
2
,
3
,
4
function-call stack frame,
1
pointer,
1
push-down,
1
storage allocation,
1
variable on the stack,
1
Stack example class,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
Standard C++ Library
algorithms,
1
insert( ),
1
push_front( ),
1
ranges, used by containers and iterators,
1
standard for each class header file,
1
standard input,
1
standard library,
1
standard library header file
cassert,
1
cstdlib,
1
cstring,
1
set,
1
sstream,
1
typeinfo,
1
standard output,
1
Standard Template Library (STL),
1
standards, C++ Committee,
1
startup costs,
1
startup module,
1
Stash example class,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
statement
continuation over several lines,
1
mission,
1
static,
1
,
2
,
3
array,
1
initialization,
1
class objects inside functions,
1
confusion when using,
1
const,
1
data
area,
1
members inside a class,
1
,
2
defining storage for,
1
destruction of objects,
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 functions,
1
,
2
,
3
inheritance and,
1
objects inside functions,
1
storage,
1
,
2
area,
1
type checking,
1
variables in functions as return values,
1
variables inside functions,
1
static_cast,
1
,
2
downcast,
1
std namespace,
1
step, in for loop,
1
STL
Silicon Graphics (SGI) STL project,
1
Standard Template Library,
1
storage
allocation,
1
const and extern,
1
auto storage class specifier,
1
const, in C vs. C++,
1
defining storage for static data members,
1
extern storage class specifier,
1
register storage class specifier,
1
running out of,
1
simple allocation system,
1
sizes,
1
static,
1
,
2
area,
1
storage class specifier,
1
storage class,
1
storing type information,
1
Straker, David,
1
string,
1
,
2
class, Standard C++,
1
concatenation,
1
copying a file into,
1
getline( ),
1
preprocessor # to turn a variable name into a string,
1
preprocessor string concatenation,
1
stringizing, preprocessor,
1
macros,
1
operator #,
1
stringstream,
1
strong typing, C++ is a more strongly typed language,
1
Stroustrup, Bjarne,
1
,
2
,
3
,
4
,
5
,
6
,
7
struct,
1
,
2
,
3
,
4
aggregate initialization,
1
array of,
1
hiding function names inside,
1
minimum size,
1
pointer selection of member with ->,
1
size of,
1
structure
aggregate initialization and structures,
1
declaration,
1
,
2
definition in a header file,
1
friend,
1
nested,
1
redeclaring,
1
subobject,
1
,
2
,
3
,
4
substitutability, in OOP,
1
substitution
principle,
1
value,
1
subtraction (-),
1
subtyping,
1
suffix rules, makefile,
1
SUFFIXES, makefile,
1
sugar, syntactic,
1
switch,
1
,
2
defining variables inside the selector statement,
1
syntax
function declaration syntax,
1
operator overloading,
1
sugar, with operator overloading,
1
variable declaration syntax,
1
synthesized
default constructor, behavior of,
1
member functions that are automatically created by the compiler,
1
,
2
system specification,
1
system(),
1
T
tab,
1
table-driven code,
1
tag name,
1
tag, comment for linking,
1
template,
1
,
2
argument list,
1
basic usage,
1
class,
1
constants and default values in templates,
1
container class templates and virtual functions,
1
function,
1
generated classes,
1
header file,
1
,
2
implies an interface,
1
inline,
1
instantiation,
1
multiple definitions,
1
non-inline template member function definitions,
1
preprocessor macros for parameterized types, instead of templates,
1
Standard Template Library (STL),
1
Stash and Stack examples as templates,
1
weak typing,
1
temporary object,
1
,
2
,
3
bugs,
1
function references,
1
passing a temporary object to a function,
1
return value,
1
ternary operator,
1
testing
automated,
1
Extreme Programming (XP),
1
Thinking in C++ Volume 2, what’s in it and how to get it,
1
Thinking in C: Foundations for Java and C++ CD ROM,
1
,
2
,
3
this,
1
,
2
,
3
,
4
,
5
,
6
,
7
address of current object,
1
throw,
1
time, Standard C library,
1
time_t,
1
token pasting, preprocessor,
1
toupper( ), unexpected results,
1
trailing arguments only can be defaults,
1
training,
1
and mentoring,
1
,
2
seminars from MindView,
1
translation unit,
1
,
2
true,
1
,
2
,
3
,
4
and false, in conditionals,
1
bool, true and false,
1
try block,
1
type
abstract data type,
1
automatic type conversion,
1
preventing with the keyword explicit,
1
with operator overloading,
1
base,
1
basic built-in,
1
cast,
1
checking,
1
,
2
,
3
,
4
stricter in C++,
1
conversion,
1
implicit,
1
creation, composite,
1
data type equivalence to class,
1
derived,
1
function type,
1
improved type checking,
1
incomplete type specification,
1
,
2
inheritance, is-a,
1
initialization of built-in types with ‘constructors’,
1
run-time type identification (RTTI),
1
,
2
storing type information,
1
type checking
for enumerations,
1
for unions,
1
type-safe linkage,
1
user-defined,
1
,
2
weak typing,
1
,
2
C++ via templates,
1
type-safe downcast,
1
typedef,
1
,
2
,
3
,
4
,
5
typefaces, book,
1
typeid,
1
typeinfo standard header file,
1
U
UML,
1
indicating composition,
1
Unified Modeling Language,
1
,
2
unary
examples of all overloaded unary operators,
1
minus -,
1
operators,
1
,
2
overloaded ,
1
plus +,
1
underscore, leading, on identifiers (reserved),
1
Unified Modeling Language (UML),
1
,
2
union
additional type checking,
1
anonymous,
1
file scope,
1
difference between a union and a class,
1
member functions and access control,
1
safe,
1
saving memory with,
1
unit, translation,
1
unnamed
arguments,
1
namespace,
1
unresolved references, during linking,
1
unsigned,
1
untagged enum,
1
,
2
unusual operator overloading,
1
upcasting,
1
,
2
,
3
,
4
,
5
,
6
by value,
1
copy-constructor,
1
explicit cast for upcasting,
1
pointer,
1
and reference upcasting,
1
reference,
1
type information, lost,
1
use case,
1
iteration,
1
scope,
1
user interface,
1
user-defined data type,
1
,
2
,
3
using keyword, for namespaces,
1
,
2
declaration,
1
,
2
directive,
1
,
2
,
3
header files,
1
namespace std,
1
V
value
constant,
1
minimum and maximum for built-in types,
1
pass-by-value,
1
preprocessor value substitution,
1
return,
1
returning by value,
1
varargs,
1
variable argument list,
1
variable
argument list,
1
varargs,
1
automatic,
1
,
2
,
3
declaration syntax,
1
defining,
1
file scope,
1
global,
1
going out of scope,
1
hide from the enclosing scope,
1
initializer for a static variable of a built-in type,
1
lifetime, in for loops,
1
local,
1
,
2
point of definition,
1
register,
1
scoped,
1
stack,
1
turning name into a string,
1
vector,
1
assignment,
1
of change,
1
push_back( ),
1
Standard C++ Library,
1
virtual destructor,
1
,
2
,
3
,
4
pure virtual destructor,
1
virtual function,
1
,
2
,
3
,
4
,
5
adding new virtual functions in the derived class,
1
and dynamic_cast,
1
assembly-language code generated by a virtual function,
1
constructors, behavior of virtual functions inside,
1
,
2
destructors, behavior of virtual functions inside,
1
efficiency,
1
late binding,
1
operator overloading and virtual functions,
1
overriding,
1
picturing virtual functions,
1
pure virtual function
and abstract base classes,
1
definitions,
1
size overhead of virtual functions,
1
virtual keyword,
1
,
2
in base-class declarations,
1
in derived-class declarations,
1
virtual memory,
1
visibility,
1
void
argument list,
1
casting void pointers,
1
keyword,
1
pointer,
1
,
2
,
3
,
4
,
5
reference (illegal),
1
void*,
1
,
2
,
3
bugs,
1
containers and ownership,
1
delete, a bug,
1
volatile,
1
,
2
casting with const_cast,
1
Volume 2, Thinking in C++,
1
vpointer, abbreviated as VPTR,
1
VPTR,
1
,
2
,
3
,
4
,
5
installation by the constructor,
1
VTABLE,
1
,
2
,
3
,
4
,
5
,
6
,
7
inheritance and the VTABLE,
1
W
Waldrop, M. Mitchell,
1
weak
typing,
1
in C++ via templates,
1
weakly typed language,
1
while loop,
1
,
2
defining variables inside the control expression,
1
width( ), iostreams,
1
wild-card,
1
Will-Harris, Daniel,
1
,
2
word size,
1
writing files,
1
X
xor ^ bitwise exclusive-or,
1
,
2
xor_eq, ^= bitwise exclusive-or-assignment,
1
XP, Extreme Programming,
1
Z
zero indexing,
1
[
[ ]
array indexing,
1
overloaded indexing operator,
1
,
2
^
^ bitwise exclusive-or,
1
^= bitwise,
1
|
|, bitwise or,
1
|= bitwise,
1
||, logical or,
1
,
2
~
~ bitwise not/ones complement,
1
~, destructor,
1
Copyright © 2000,
2010
- Christophe DECIS
Site partenaire:
ToutVendre.Fr
-
Anne DECIS
WebAnalytics solution by