FAQs in section [4]:
[4.1] What updates were made for the 10/99 release? 
[Recently created (on 10/99). Click here to go to the next FAQ in the "chain" of recent changes.]
New FAQs:
Changed FAQs:
- [6.11] Is C++ standardized?
(changed "International Standards Organization" to "International Organization for Standardization"; thanks to savvysoft2@aol.com)
- [7.1] What is a class?
(cleaned up wording so no one thinks int is a class thanks to Ron Natalie)
- [8.1] What is a reference?
(added return type to main())
- [8.2] What happens if you assign to a reference?
(inserted "state of the" to avoid ambiguity thanks to Donna)
- [8.3] What happens if you return a reference?
(added return type to main())
- [10.5] Which constructor gets called when I create an
array of Fred objects?
(added return type to main(), plus added stuff about "explicit initialization of arrays" thanks to Keller Beyer)
- [10.7] What is the "Named Constructor Idiom"?
(added return type to main())
- [12.1] What is "self assignment"?
(added return type to main())
- [13.4] But operator overloading makes my class look
ugly; isn't it supposed to make my code clearer?
(added return type to main())
- [13.5] What operators can/cannot be overloaded?
(added return type to main())
- [13.6] Can I overload operator== so it lets
me compare two char[] using a string comparison?
(replaced "class type" with "user-defined type" in first paragraph thanks to Daryle Walker)
- [13.8] How do I create a subscript operator for a
Matrix class?
(added return type to main(); added parameters to the instantiation of m in main() thanks to Boris Pulatov)
- [13.10] Should I design my classes from the outside
(interfaces first) or from the inside (data first)?
(added an admonition to not "roll your own" container classes)
- [15.2] Why does my program go into an infinite loop when
someone enters an invalid input character?
(added return type to main())
- [15.4] Why does my input seem to process past the end of file?
(strengthened the message with another example)
- [15.6] How can I provide printing for my class Fred?
(added return type to main())
- [15.7] How can I provide input for my class Fred?
(added return type to main())
- [15.10] Why can't I open a file in a different directory
such as "..\test.dat"?
(added return type to main())
- [16.6] How can I convince my (older) compiler to
automatically check new to see if it returns NULL?
(added return type to main())
- [16.19] How can I force objects of my class to always be
created via new rather than as locals or global/static objects?
(added return type to main())
- [18.12] Why does the compiler allow me to change an int after
I've pointed at it with a const int*?
(added return type to main())
- [18.13] Does "const Fred* p" mean that *p
can't change?
(added return type to main())
- [21.2] Derived* > Base* works OK; why doesn't
Derived** > Base** work?
(added return type to main(); added methods openGasCap() and fireNuclearMissle() -- makes the example more exciting)
- [21.4] Is an array of Derived a kind-of array of Base?
(added return type to main())
- [24.4] Should I pointer-cast from a private
derived class to its base class?
(changed PrivateDer to PrivatelyDer in last paragraph)
- [24.6] What are the access rules with private
and protected inheritance?
(rewritten with the using syntax; thanks to Stephen Vance)
- [29.2] How can I include a standard C header file in my C++
code?
(added return type to main())
- [29.3] How can I include a non-system C header file in
my C++ code?
(added return type to main())
- [29.4] How can I modify my own C header files so it's
easier to #include them in C++ code?
(added return type to main())
- [29.5] How can I call a non-system C function f(int,char,float)
from my C++ code?
(added return type to main())
- [30.2] How do I pass a pointer to member function to a signal
handler, X event callback, etc?
(added return type to main())
- [31.1] How can I make a perl-like associative array in
C++?
(added return type to main())
- [31.5] What's the syntax / semantics for a "function template"?
(added return type to main())
- [31.6] What's the syntax / semantics for a "class template"?
(added return type to main())
- [33.1] Where can I download a free C++ compiler?
(fixed the URL)
- [33.5] Where can I get information about the C++ compiler
from {Borland, IBM, Microsoft, Semantic, Sun, etc.}?
(added Edison Design Group C++ thanks to Matt Page)
- [34.5] Why is floating point so inaccurate? Why doesn't this
print 0.43?
(added return type to main())
- [35.2] Are there any pretty-printers that reformat C++ source
code?
(added Artistic Style thanks to Philipp Berndt, fixed the URL for C++2LaTeX thanks to Vinay Kumar Nallamothu, fixed the URL for C-Clearly thanks to Bill Robertson; fixed the plaintext version (the "grind" definition didn't show up there) thanks to Nimrod Zimerman)
[ Top | Bottom | Previous section | Next section ]
[4.2] What updates were made for the 07/99 release? 
[Recently created (on 7/99). Click here to go to the next FAQ in the "chain" of recent changes.]
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.3] What updates were made for the 06/98 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.4] What updates were made for the 05/98 release?
Global changes:
- Removed the grey background color on the HTML version. It now
displays in the Web Browser's own preferences.
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.5] What updates were made for the 09/97 release?
New FAQs:
Changed FAQs:
- [1.3] Copying Permissions
(clarified)
- [5.1] What does IMHO mean? (or IMO, IMNSHO, FWIW, OTOH, etc.)?
(added silly acronym-laden comment at the bottom (adapted from e-mail from Erik Corry)
- [16.16] But the previous FAQ's code is SOOOO tricky and error
prone! Isn't there a simpler way?
(fixed some inconsistencies between FredMatrix and Matrix thanks to Jeff Baker)
- [16.20] How do I do simple reference counting?
(fixed FredPtr's constructor thanks to Chichiang Wan)
- [23.3] What's the meaning of, Warning: Derived::f(float) hides Base::f(int)?
(rewritten with the using syntax; thanks to Matt Seitz)
- [33.5] Where can I get information about the C++ compiler
from {Borland, IBM, Microsoft, Semantic, Sun, etc.}?
(corrected the URL for Symantec C++ thanks to Michel Joly de Lotbiniere and added the URL for HP C++ thanks to David Green)
- [33.5] Where can I get information about the C++ compiler
from {Borland, IBM, Microsoft, Semantic, Sun, etc.}?
(corrected the URL for Microsoft Visual C++ thanks to Leila Rannanjarvi, and added the URL for Sun C++ thanks to Aryan Mirsepassi)
- [35.2] Are there any pretty-printers that reformat C++ source
code?
(added information about tgrind)
[ Top | Bottom | Previous section | Next section ]
[4.6] What updates were made for the 01/97 release?
Global changes:
- Added the (much requested!) one-click download
feature. This automagically sends you a copy of the entire FAQ so you
can browse off-line. There's a similar feature to get
a copy of the "plaintext" version of the FAQ.
- Removed those pesky "hit counters" from each HTML page.
- Added nifty forward and backward links just after each
FAQ.
- Added more nifty navigation aids at the bottom of each
page.
- Renamed section [6]
from "Management Issues" to "Big Picture Issues."
New FAQs:
Changed FAQs:
- [1.3] Copying Permissions
(simplified)
- [2.1] Where's the closest mirror site to access this document?
(removed the "USA-2" site)
- [2.2] How can I get a Copy of all the HTML files of C++ FAQ
Lite so I can read them Off-Line?
(rewrote and added a one-click feature to get .zip, .tar.Z or .tar.gz format)
- [2.3] How can I get a Copy of all the "plaintext" files of
C++ FAQ Lite so I can read them Off-Line?
(rewrote and added a one-click feature to get .zip, .tar.Z or .tar.gz format)
- [5.1] What does IMHO mean? (or IMO, IMNSHO, FWIW, OTOH, etc.)?
(added KUTGW (thanks to Bengt Richter))
- [15.6] How can I provide printing for my class Fred?
(added note about cascading operator<< calls)
- [15.7] How can I provide input for my class Fred?
(added note about cascading operator<< calls)
- [16.6] How can I convince my (older) compiler to
automatically check new to see if it returns NULL?
(fixed bugs: new handlers don't take arguments, thanks to Scott Aaron; changed set_new_hanlder to set_new_handler, thanks to Peter Andersson)
- [16.15] How do I allocate multidimensional arrays using new?
(rewritten and expanded with a rectangular-matrix case)
- [18.1] What is "const correctness"?
(rewrote because of helpful feedback from Nor Jaidi)
- [21.6] Is a Circle a kind-of an Ellipse?
(added a caveat that setSize(x,y) isn't sacred)
- [21.7] Are there other options to the "Circle is/isnot
kind-of Ellipse" dilemma?
(added a caveat that setSize(x,y) isn't sacred)
- [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?
(added a caveat that setSize(x,y) isn't sacred)
- [23.1] When my base class's constructor calls a
virtual function, why doesn't my derived class's override of that virtual
function get invoked?
(rewrote)
- [29.8] How can I pass an object of a C++ class to/from a C
function?
(added #ifndef FRED_H / #define FRED_H to code)
- [33.5] Where can I get information about the C++ compiler
from {Borland, IBM, Microsoft, Semantic, Sun, etc.}?
(added HP C++)
- [35.4] Where can I get OS-specific questions answered (e.g.,
BC++, DOS, Windows, etc)?
(added Borland C++ URLs thanks to Simon Edlund)
[ Top | Bottom | Previous section | Next section ]
[4.7] What updates were made for the 11/96 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.8] What updates were made for the 10/96 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.9] What updates were made for the 09/96 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.10] What updates were made for the 08/96 release?
Global changes:
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.11] What updates were made for the 07/96 release?
Global changes:
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.12] What updates were made for the 06/96 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.13] What updates were made for the 05/96 release?
Updated everything. Transformed the source from raw text to HTML.
Reorganized, reworded, expanded, added example code, etc, etc.
[ Top | Bottom | Previous section | Next section ]
[4.14] What updates were made for the 04/96 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.15] What updates were made for the 03/96 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.16] What updates were made for the 09/95 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.17] What updates were made for the 06/95 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.18] What updates were made for the 04/95 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.19] What updates were made for the 03/95 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.20] What updates were made for the 01/95 release?
New FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.21] What updates were made for the 12/94 release?
New FAQs:
Changed FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.22] What updates were made for the 11/94 release?
New FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.23] What updates were made for the 08/94 release?
Rewrote most of the answers to provide general cleanup. Changed the quotation
marks to "..." rather than `...' and/or ``...''. Sample code lines now start
with a tab (no other lines starts with a tab). Everything was edited; minor
modifications everywhere.
New FAQs:
[ Top | Bottom | Previous section | Next section ]
[4.24] What updates were made before 08/94?
This document was originally written in 1991. I have no record of the specific
changes that were made until 8/94.
[ Top | Bottom | Previous section | Next section ]
E-mail the author
[ C++ FAQ Lite
| Table of contents
| Subject index
| About the author
| ©
| Download your own copy ]
Revised Oct 15, 1999