(Click here for a personal note from Marshall Cline.)
C++ FAQ
/
Section 4
/ FAQ 4.39
Section 4:
4.1
Updates for the 03/12 release?
New!
4.2
Updates for the 11/11 release?
New!
4.3
Updates for the 07/11 release?
4.4
Updates for the 05/11 release?
4.5
Updates for the 03/11 release?
4.6
Updates for the 08/10 release?
4.7
Updates for the 06/10 release?
4.8
Updates for the 05/10 release?
4.9
Updates for the 04/10 release?
4.10
Updates for the 03/10 release?
4.11
Updates for the 01/10 release?
4.12
Updates for the 09/09 release?
4.13
Updates for the 06/09 release?
4.14
Updates for the 01/09 release?
4.15
Updates for the 03/07 release?
4.16
Updates for the 09/06 release?
4.17
Updates for the 03/06 release?
4.18
Updates for the 10/05 release?
4.19
Updates for the 07/05 release?
4.20
Updates for the 06/05 release?
4.21
Updates for the 05/05 release?
4.22
Updates for the 04/05 release?
4.23
Updates for the 03/05 release?
4.24
Updates for the 02/05 release?
4.25
Updates for the 12/04 release?
4.26
Updates for the 06/04 release?
4.27
Updates for the 08/03 release?
4.28
Updates for the 06/03 release?
4.29
Updates for the 05/03 release?
4.30
Updates for the 04/03 release?
4.31
Updates for the 03/03 release?
4.32
Updates for the 02/03 release?
4.33
Updates for the 01/03 release?
4.34
Updates for the 12/02 release?
4.35
Updates for the 09/02 release?
4.36
Updates for the 06/02 release?
4.37
Updates for the 05/02 release?
4.38
Updates for the 04/02 release?
4.39
Updates for the 03/02 release?
4.40
Updates for the 08/01 release?
4.41
Updates for the 04/01 release?
4.42
Updates for the 07/00 release?
4.43
Updates for the 03/00 release?
4.44
Updates for the 01/00 release?
4.45
Updates for the 10/99 release?
4.46
Updates for the 07/99 release?
4.47
Updates for the 06/98 release?
4.48
Updates for the 05/98 release?
4.49
Updates for the 09/97 release?
4.50
Updates for the 01/97 release?
4.51
Updates for the 11/96 release?
4.52
Updates for the 10/96 release?
4.53
Updates for the 09/96 release?
4.54
Updates for the 08/96 release?
4.55
Updates for the 07/96 release?
4.56
Updates for the 06/96 release?
4.57
Updates for the 05/96 release?
4.58
Updates for the 04/96 release?
4.59
Updates for the 03/96 release?
4.60
Updates for the 09/95 release?
4.61
Updates for the 06/95 release?
4.62
Updates for the 04/95 release?
4.63
Updates for the 03/95 release?
4.64
Updates for the 01/95 release?
4.65
Updates for the 12/94 release?
4.66
Updates for the 11/94 release?
4.67
Updates for the 08/94 release?
4.68
Updates for the 08/94 release?
[4.39] What updates were made for the 03/02 release?
Global changes:
Changed the HTML "anchor" scheme so it conforms to
the standard
. Thanks to Eric Anderson for pointing this out.
4 New FAQs:
[4.39] What updates were made for the 03/02 release?
(created)
[6.14] What are some "interview questions" I could ask that would let me know if candidates really know their stuff?
(created thanks to inspiration from
Shawn Panosian
)
[35.12] Why can't I separate the definition of my templates class from its declaration and put it inside a .cpp file?
(created thanks to
Assaf Lavie
)
[40.1] How can I generate HTML documentation for my classes? Does C++ have anything similar to
javadoc
?
(created thanks to
Joe Linoff
)
27 Changed FAQs:
[3.1] Is there a
C++ FAQ Book
in addition to this on-line
C++ FAQ
?
(changed the URL for
book excerpts
thanks to
Chris Young
)
[5.1] What does IMHO mean? (or IMO, IMNSHO, FWIW, OTOH, etc.)?
(added OO)
[6.11] Is C++ backward compatible with ANSI/ISO C?
(clarified the relationship between
f()
in C and
f(...)
in C++ thanks to
Stefan Farfeleder
)
[6.13] Where can I get a copy of the ANSI/ISO C++ standard?
(swapped some mixed up links thanks to
Randal Leistikow
)
[8.8] What is a
handle
to an object? Is it a pointer? Is it a reference? Is it a pointer-to-a-pointer? What is it?
(changed pointers-to-references into references-to-pointers thanks to
Scott Douglass
)
[13.1] What's the deal with
operator
overloading?
(added comment about templates and intrinsic types thanks to
Phil Hibbs
)
[15.1] Why should I use
<iostream>
instead of the traditional
<cstdio>
?
(corrected grammar of first bullet ("better type safety" ==> "more type-safe") thanks to
Tristan Miller
)
[15.16] Why can't I open a file in a different directory such as
"..\test.dat"
?
(added an explanation as to why "/" is better than "\\" thanks to
Chris Young
)
[16.3] Can I
free()
pointers allocated with
new
? Can I
delete
pointers allocated with
malloc()
?
(strengthened)
[18.13] What do I do if I want a
const
member function to make an "invisible" change to a data member?
(added a caveat about
this
being a
Set const* const
thanks to
Steve White
)
[20.6] I have a heterogeneous list of objects, and my code needs to do class-specific things to the objects. Seems like this ought to use dynamic binding but can't figure it out. What should I do?
(fixed typo in a typedef thanks to
Salminen Kari
; plus various clarifications throughout)
[20.8] What is a "
virtual
constructor"?
(added parenthetical recommendation about slicing thanks to Jesse Jones)
[21.2] Converting
Derived*
→
Base*
works OK; why doesn't
Derived**
→
Base**
work?
(added a paragraph near the end about using a pointer cast thanks to
Steve White
)
[21.6] Is a
Circle
a kind-of an
Ellipse
?
(reworded)
[21.7] Are there other options to the "
Circle
is/isnot kind-of
Ellipse
" dilemma?
(added words allowing Circle to be a state of Ellipse rather than a class in itself thanks to
Nicholas Leippe
)
[21.8] But I have a Ph.D. in Mathematics, and I'm
sure
a Circle is a kind of an Ellipse! Does this mean Marshall Cline is stupid? Or that C++ is stupid? Or that OO is stupid?
(softened things up in two spots (thanks to
Salminen Kari
and
Nicholas Leippe
) and made it even more in-your-face in other spots (blame
the author
for this second set of changes — I'm the meanie))
[27.8] What source-file-name convention is best?
foo.cpp
?
foo.C
?
foo.cc
?
(rewrote/wordsmithed thanks to
Michael Tiller
)
[27.13] Are there any other sources of coding standards?
(removed a dead link thanks to
Phil Hibbs
)
[28.7] What are some best-of-breed C++
programming-by-example
guides?
(added Musser's STL book thanks to
Xavier Outhier
from
D2SET scientific and technology non profit association
)
[29.17] Why doesn't my floating-point comparison work?
(added new book references thanks to
Alan McKenney
)
[37.2] Where can I get a copy of "STL"?
(removed dead link to Musser's STL site thanks to
Xavier Outhier
from
D2SET scientific and technology non profit association
)
[37.4] Where can I get help on how to use STL?
(removed dead link to Musser's STL site thanks to
Xavier Outhier
from
D2SET scientific and technology non profit association
; added link to book section)
[37.9] Where can I get tons and tons of more information on C++ class libraries?
(added the URL to
www.mathtools.net/C_C__/
thanks to
Ophir Herbst
; also added the boost.org URL)
[38.1] Where can I download a free C++ compiler?
(added Digital Mars to the list (thanks Walter!))
[38.4] How can I decompile an executable program back into C++ source code?
(added caveat at the end re legitimate reasons to decompile)
[38.5] Where can I get information about the C++ compiler from {Borland, IBM, Microsoft, Sun, etc.}?
(removed Symantec C++ since Symantec's web site says it is "discontinued," thanks to
Richard Gill
; added an annotation that the Digital Mars compiler is free, thanks to Walter Bright; and added the URL to the Cygwin-compiled version of GCC, thanks to
Wouter Demuynck
)
[40.3] Are there any pretty-printers that reformat C++ source code?
(added "Source Styler for C++" thanks to
Alison Boyce
)