Gotcha #3: Global Variables
environment.h
environment.cpp
main.cpp
Gotcha #4: Failure to Distinguish
Overloading
from Default Initialization
c12.h
c12.cpp
Gotcha #5: Misunderstanding
References
array.h
main.cpp
Gotcha #7: Ignorance of Base
Language
Subtleties
bool.cpp
iter.cpp
main.cpp
Gotcha #8: Failure to Distinguish
Access
and Visibility
cbridge.h
cbridge.cpp
main.cpp
Gotcha #11: Unnecessary Cleverness
select.h
lineno.cpp
Gotcha #14: Evaluation Order
Indecision
e.h
e.cpp
eparse.h
eparse.cpp
main.cpp
Gotcha #24: Operator ->
Subtleties
ptr.h
ptr.cpp
Gotcha #26: #define Pseudofunctions
execbump.cpp
gotcha28/myassert.h
Gotcha #28: Side Effects in
Assertions
myassert.h
myassert.cpp
Gotcha #32: Misunderstanding
Pointer-to-Pointer-to-Const
Conversion
gettoken.cpp
Gotcha #47:
Assignment/Initialization
Confusion
rawstorage.h
rawstorage.cpp
Gotcha #53: Virtual Base Default
Initialization
virtassign.cpp
Gotcha #55: Runtime Static
Initialization
Order
main.cpp
term.h
term.cpp
Gotcha #56: Direct vs. Copy
Initialization
seqlength.cpp
Gotcha #67: Failure to Employ
Resource
Acquisition is Initialization
main.cpp
trace.h
trace.cpp
Gotcha #69: Type Codes
firewall.h
firewall.cpp
main.cpp
msg1.cpp
msg2.cpp
Gotcha #71: Hiding Nonvirtual
Functions
main.cpp
msg.h
msg.cpp
msgdecorator.h
msgdecorator.cpp
Gotcha #76: Virtual Assignment
gotcha90/container.h
Gotcha #83: Failure to Distinguish
Aggregation
and Acquaintance
cptr.h
ptrlist.h
main.cpp
Gotcha #84: Improper Operator
Overloading
gotcha05/array.h
Gotcha #88: Misunderstanding
Templated
Copy Operators
main.cpp
money.h
money.cpp
Gotcha #89: Arrays of Class Objects
apply.cpp
Gotcha #90: Improper Container
Substitutability
container.h
container.cpp
bondlist.h
bondlist.cpp
list.h
main.cpp
Gotcha #92: Public Inheritance for
Code
Reuse
button.h
button.cpp
cptr.h
main.cpp
moreactions.h