(Click here for a personal note from Marshall Cline.)
C++ FAQ
/
Section 4
/ FAQ 4.16
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.16] What updates were made for the 09/06 release?
2 New FAQs:
[4.16] What updates were made for the 09/06 release?
(created)
[35.18] Why am I getting errors when my template-derived-class uses a nested type it inherits from its template-base-class?
(created thanks to
Victor Bazarov
)
11 Changed FAQs:
[2.1] Where's the closest mirror site to access this document?
(added the new mirror site in China thanks to
dd_engi
, and changed the output to a table)
[6.18] What should I tell people who complain that the word "FAQ" is misleading, that it emphasizes the questions rather than the answers, and that we should all start using a different acronym?
(added "DIRR" acronym thanks to
Andrew D. Hwang
)
[13.12] I still don't get it. Why shouldn't my
Matrix
class's interface look like an array-of-array?
(wordsmithed)
[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?
(corrected the name of Meyer's "Law of Inversion" thanks to Darren Hiebert)
[23.3] Should I use protected virtuals instead of public virtuals?
(fixed a typo in the code (
f_double
is now
f_dbl
) thanks to
Al-Asham Said
)
[29.18] Why is
cos(x) != cos(y)
even though
x == y
? (Or sine or tangent or log or just about any other floating point computation)
(added
#include <iostream>
thanks to
Phil Buluschek
)
[34.3] Is the storage for a
std::vector<T>
guaranteed to be contiguous?
(removed obsolete caveat from when this had not yet been ratified thanks to
Alberto Ganesh Barbati
and
Gerald Thaler
)
[35.14] How does the C++ keyword
export
help with template linker errors?
Updated!
(fixed a bug in the last paragraph by changing
NO_EXPORT_KEYWORD
to
USE_EXPORT_KEYWORD
thanks to
Luís Bruno
)
[35.19] Why am I getting errors when my template-derived-class uses a member it inherits from its template-base-class?
(wordsmithed, clarified)
[35.20] Can the previous problem hurt me silently? Is it possible that the compiler will silently generate the wrong code?
(rewrote to include non-dependent type-names in addition to non-dependent member-names thanks to a discussion with
Victor Bazarov
)
[40.3] Are there any pretty-printers that reformat C++ source code?
(added "ProFactor StyleManager" thanks to
Matt Godbolt
)