(Click here for a personal note from Marshall Cline.)
C++ FAQ
/
Section 4
/ FAQ 4.36
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.36] What updates were made for the 06/02 release?
Big-picture changes:
Added a new section on
Newbie Questions / Answers
.
20 New FAQs:
[4.36] What updates were made for the 06/02 release?
(created)
[6.15] What does the FAQ mean by "such and such is
evil
"?
(created)
[21.12] If
SortedList
has
exactly
the same public interface as
List
, is
SortedList
a kind-of
List
?
(created thanks to a conversation with
Dave Mikesell
)
[26.12] How can I tell if an integer is a power of two without looping?
(created thanks to
S.K. Mody
)
[29.1] What is this "newbie section" all about?
(created)
[29.2] Where do I start? Why do I feel so confused, so stupid?
(created thanks to a question from
John Lester
)
[29.5] What are the criteria for choosing between
short
/
int
/
long
data types?
(created thanks to a question from
John Lester
)
[29.6] What the heck is a
const
variable? Isn't that a contradiction in terms?
(created thanks to a question from
John Lester
)
[29.7] Why would I use a
const
variable /
const
identifier as opposed to
#define
?
(created thanks to a question from
John Lester
)
[29.8] Are you saying that the preprocessor is evil?
(created)
[29.9] What is the "standard library"? What is included / excluded from it?
(created thanks to a question from
John Lester
)
[29.10] How should I lay out my code? When should I use spaces, tabs, and/or newlines in my code?
(created thanks to a question from
John Lester
)
[29.11] Is it okay if a lot of numbers appear in my code?
(created)
[29.12] What's the point of the
L
,
U
and
f
suffixes on numeric literals?
(created thanks to a question from
John Lester
)
[29.13] I can understand the
and
(
&&
) and
or
(
||
) operators, but what's the purpose of the
not
(
!
) operator?
(created thanks to a question from
John Lester
)
[29.14] Is
!(a < b)
logically the same as
a >= b
?
(created)
[29.15] What is this NaN thing?
(created)
[29.19] What is the type of an enumeration such as
enum Color
? Is it of type
int
?
(created thanks to a question from
John Lester
)
[29.20] If an enumeration type is distinct from any other type, what good is it? What can you do with it?
(created thanks to a question from
John Lester
)
[38.6] What's the difference between C++ and Visual C++?
(created based on a question from
Lavanya Mahashankar
)
13 Changed FAQs:
[2.12] Where can I find the C++ FAQ translated into Portuguese?
(updated the URL)
[3.1] Is there a
C++ FAQ Book
in addition to this on-line
C++ FAQ
?
(changed the URL for the
book cover
and
excerpts
thanks to
Thomas Hansen
; also added the
sample chapter
and
source code
.)
[5.6] Wait a minute, does that previous FAQ say to
not
answer their question just because it's already answered in the FAQ?!?
(fixed misspelling in "cripple" thanks to
John Marshall
plus general rewording)
[5.13] What about spam?
(fixed a typo thanks to
Paul Savage
)
[10.6] Should my constructors use "initialization lists" or "assignment"?
(added symmetry argument wrt non-static const members thanks to
Tanmoy Bhattacharya
)
[10.16] Why doesn't the construct-on-first-use idiom use a static object instead of a static pointer?
(made substantive changes to the second-to-last paragraph thanks to
Amitha Perera
and Wil Evers)
[18.13] What do I do if I want a
const
member function to make an "invisible" change to a data member?
(reworded the question to distinguish "invisible change" from "invisible data member" thanks to
Thomas Hansen
)
[26.4] But, but, but what about machines where a
char
has more than 8 bits? Surely you're not saying a C++ byte might have more than 8 bits, are you?!?
(removed a superfluous statement)
[26.6] I'm sooooo confused. Would you please go over the rules about bytes,
char
s, and characters one more time?
(rewrote; changed the example from the mythical FOO machine to a PDP-10, plus added words showing how to simulate pointers using software, much thanks to
Andrew Koenig
)
[26.7] What is a "POD type"?
(added note that POD types can contain non-virtual member functions thanks to
Andrew Koenig
)
[26.8] When initializing non-static data members of built-in / intrinsic / primitive types, should I use the "initialization list" or assignment?
(clarified the cross-reference)
[26.9] When initializing static data members of built-in / intrinsic / primitive types, should I worry about the "
static
initialization order fiasco"?
(made it clearer that the FAQ provides a solution)
[38.5] Where can I get information about the C++ compiler from {Borland, IBM, Microsoft, Sun, etc.}?
(updated the link to KAI C++)