"A"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- ABC (see also Inheritance) ... [22.2], [22.3]
 
- Access rules
 
 - protected: and private: inheritance ... [24.6]
 
 - protected: and private: members ... [19.5], [19.6]
 
 
 
- Acronyms ... [5.1]
 
- Ada vs. C++ ... [6.4]
 
- Aliasing
 
 
- All Terrain Vehicle (ATV) ... [27.5]
 
- ANSI
 
 
- Arity ... [13.7]
 
- Arrays
 
 
- Artistic Style (see Pretty Printing) ... [35.2]
 
- Assignment operator ... [12]
 
 
- Associative array (see also STL) ... [31.1]
 
- Associativity ... [13.7]
 
- Author (see also C++ FAQ Lite) ... [1.1]
 
- auto_ptr ... [17.2]
 
"B"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Backtracking ... [5.3]
 
- bad_alloc (see also Freestore) ... [16.5], [16.6]
 
- Bag of Apple vs. of Fruit ... [21.3]
 
- Base class ... [19.3]
 
- Beautifier, Code (see Pretty printing) ... [35.2]
 
- Beginners books ... [26.8]
 
- Big Picture issues (see Managerial issues) ... [6]
 
- Big Three, Law of ... [16.16], [22.5], [25.8]
 
- Binary compatibility between vendors ... [33.8]
 
- Binding: Static vs. dynamic ... [20.2], [20.3]
 
- Book (see C++ FAQ Book) ... [3]
 
- Books on C++ ... [26]
 
- Books
 
 
- BTW (Acronym) ... [5.1]
 
- Business criteria dominate technical criteria ... [6.4]
 
"C"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- C++2LaTeX (see Pretty printing) ... [35.2]
 
- C++ books ... [26]
 
- C++ compiler
 
 
- C++ FAQ Book ... [3]
 
 - Available only in bookstores ... [3.3]
 
 - Is 500% bigger than this Lite document ... [3.4]
 
 - ISBN ... [3.1]
 
 - Not same as the on-line ("Lite") document ... [3.2]
 
 
 
- C++ FAQ Lite ... [3]
 
 
- C language
 
 - Accessing C++ data members from C ... [29.9]
 
 - C++ backward compatibility ... [6.10]
 
 - C++ is higher level than C ... [29.10]
 
 - C vs. C++ ... [6.4]
 
 - Calling C from C++ ... [29.5]
 
 - Calling C++ from C ... [29.6]
 
 - Coding standards different from C++ ... [25.3]
 
 - Common linker errors ... [23.4], [29.7]
 
 - __cplusplus ... [29.4]
 
 - extern C ... [29.3]
 
 - Including C headers ... [29.2], [29.3], [29.4]
 
 - Linking must be directed by C++ ... [29.1]
 
 - main() must be compiled using C++ ... [29.1]
 
 - Mixing C and C++ code ... [29]
 
 - Newsgroup comp.lang.c ... [5.8]
 
 - Not an efficient way to learn OO/C++ ... [26.2]
 
 - Passing C++ objects to C code ... [29.8], [29.9]
 
 - static at file-scope ... [7.5]
 
 
 
- C++ Libraries FAQ ... [32.9]
 
- Cache Misses
 
 - Avoiding with a Matrix class ... [13.9]
 
 - Striding the cache ... [13.9]
 
 
 
- Changes to this document (see also C++ FAQ Lite) ... [4]
 
- char*: Use a string-like class instead ... [13.6], [17.3]
 
- Chinese translation of this document ... [2.5]
 
- Circles vs. Ellipses ... [21.6], [21.7], [21.8], [21.9]
 
- Circular dependencies ... [34.6]
 
- class ... [7.1], [7.8]
 
- clone() methods ... [16.22], [20.5], [22.5]
 
- Coding standards ... [25]
 
 - Assignment operators check assignment-to-self ... [12.1], [25.8]
 
 - Assignment operators return *this ... [25.8]
 
 - Assignment operators use const ... [25.8]
 
 - Avoid arrays whenever possible ... [21.5]
 
 - Avoid dynamically typed libraries ... [32.5]
 
 - Avoid global variables ... [34.2]
 
 - Avoid hiding nested identifiers ... [34.2]
 
 - Bloodshed, Jihads, and Heat vs. Light ... [25.1]
 
 - Coding standards are never sufficient ... [25.2]
 
 - Coding standards are sometimes necessary ... [25.2]
 
 - Copy constructors use const ... [25.8]
 
 - Declare near first use ... [25.5]
 
 - Design classes from the outside-in ... [13.10]
 
 - Don't base C++ standards on C standards ... [25.3]
 
 - Don't test for NULL after new ... [16.5]
 
 - Don't test for NULL before delete ... [16.7]
 
 - Explicitly calling destructors (Don't!) ... [11.5], [11.6], [11.9]
 
 - Explicitly calling destructors (OK sometimes) ... [11.10]
 
 - Header filename extensions ... [25.7]
 
 - Identifier naming conventions ... [25.9]
 
 - Initialization lists ... [10.6], [25.8]
 
 - Law of the Big Three ... [16.16], [25.8]
 
 - Operator overloading ... [25.8]
 
 - Source filename extensions ... [25.6]
 
 - static at file-scope (Don't!) ... [7.5]
 
 - The Ellemtel coding guidelines ... [25.10]
 
 - Todd Hoff's coding guidelines ... [25.10]
 
 - Use a string object rather than a char* ... [13.6], [17.3]
 
 - Use delete[] for arrays ... [16.11]
 
 - Use of the ternary ?: operator ... [25.4]
 
 - virtual destructor coding standard ... [25.8]
 
 
 
- Column-major order ... [13.9]
 
- Combinations ... [5.3]
 
- Committee Draft (CD) for ANSI/ISO-C++ ... [6.12]
 
- Compatibility, Binary ... [33.8]
 
- Compiler dependencies ... [33], [33.5]
 
- Composition
 
 - Benefits compared to freestore ... [28.4], [28.5]
 
 - Compared with private inheritance ... [24.2]
 
 - Criteria for composition vs. private inheritance ... [24.3]
 
 - Inlining virtual functions ... [28.5], [28.6]
 
 
 
- const_cast ... [18.10]
 
- Const correctness ... [18], [18.1]
 
 
- Construct On First Use Idiom ... [10.11], [10.12]
 
- Constructors ... [10], [16.9]
 
 
- Containers ... [31]
 
 - Container of Thing vs. of Anything ... [21.4]
 
 - Heterogeneous ... [31.2]
 
 - Iterators ... [31.3]
 
 
 
- Copy constructors
 
 
- Copy on write (see Reference counting) ... [16.21], [16.22]
 
- Copy semantics (see also Value semantics) ... [28.1]
 
- Copying permissions (see also C++ FAQ Lite) ... [1], [1.3]
 
- Copyright notice (see also C++ FAQ Lite) ... [1.2]
 
- CORBA FAQ
 
 
- Crash at runtime without any warning ... [11.5], [11.6], [16.2], [16.4], [16.11], [16.12], [17.3], [20.4], [21.1], [21.4], [21.5], [34.2]
 
- create() methods (see Named Constructor Idiom) ... [10.7], [16.19], [16.22]
 
- Ctor (see also Constructors) ... [10]
 
"D"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Dangerous programming practices ... [11.5], [11.6], [11.10], [13.6], [16.2], [16.4], [16.11], [16.12], [16.16], [17.3], [20.4], [21.1], [21.4], [21.5], [23.3], [34.2]
 
- Declarations
 
 - Declare near first use ... [25.5]
 
 - List x(); declares a function, not an object ... [10.2]
 
 
 
- Decompiling executables back into C++ source code ... [33.4]
 
- Default parameters ... [10.3]
 
- #define macros (see also Inline functions) ... [9.1], [9.3], [26.2], [27.3], [29.4], [30.5], [30.6]
 
- delete ... [16.1]
 
 
- Derived classes ... [19.3]
 
 - Can access protected parts of Base ... [19.7]
 
 - Can't access private parts of Base ... [19.6]
 
 - Derived* to Base* conversion ... [19.4], [21.2]
 
 - Derived** to Base** conversion (invalid) ... [21.2]
 
 - Derived* to private Base* conversion (invalid) ... [24.4]
 
 
 
- Design books ... [26.7]
 
- Destructors ... [11], [16.8], [16.13], [33.6], [33.7]
 
 - Base class subobjects are automagically destructed ... [11.12]
 
 - Calling a virtual from ... [23.1]
 
 - Can't be overloaded ... [11.4]
 
 - Coding standards concerning ... [25.8]
 
 - Controlling lifetimes of locals ... [11.6], [11.7], [11.8]
 
 - Explicitly calling them (Don't!) ... [11.5], [11.6], [11.9]
 
 - Explicitly calling them (OK sometimes) ... [11.10]
 
 - Last rites ... [11.1]
 
 - Member objects are automagically destructed ... [11.11]
 
 - Order of destruction for array elements ... [11.3]
 
 - Order of destruction for locals ... [11.2]
 
 - virtual destructor coding standard ... [20.4]
 
 
 
- Dijkstra ... [5.3]
 
- Directory separator: use "/", not "\" ... [15.10], [34.1]
 
- Downloading
 
 - HTML version of C++ FAQ Lite ... [2.2]
 
 - HTML version of this document ... [2.1]
 
 - Plaintext version of C++ FAQ Lite ... [2.3]
 
 - Why it's done via email ... [2.4]
 
 
 
- Dtor (see also Destructors) ... [11]
 
- Dynamic
 
 
"E"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Ellemtel coding guidelines (see also Coding standards) ... [25.10]
 
- Ellipses vs. Circles ... [21.6], [21.7], [21.8], [21.9]
 
- Encapsulation ... [6.7], [7]
 
 - Definition ... [7.4]
 
 - Hides stuff from code, not from people ... [7.6]
 
 - Not necessarily violated by friends ... [14.2]
 
 - Security vs. Encapsulation ... [7.7]
 
 
 
- End-of-file (see Input/output) ... [15.2], [15.4]
 
- Equation parsing in C++ ... [5.3]
 
- Etiquette (see also Netiquette) ... [5]
 
- Exceptions ... [17]
 
 
- Executables  decompiling back to C++ source code ... [33.4]
 
- extern C (see also C language) ... [29], [29.3]
 
"F"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Features of C++ from a business perspective ... [6.7]
 
- Filenames
 
 - Extensions for header files ... [25.7]
 
 - Extensions for source code files ... [25.6]
 
 - Using "/" rather than "\" for directories ... [15.10], [34.1]
 
 
 
- find_if ... [32.3]
 
- Floating point ... [34.5], [35.5]
 
- for loop ... [34.2]
 
- FORTRAN vs. C++ ... [6.4]
 
- Forward declarations ... [34.6]
 
 
- Free C++ compiler ... [33.1]
 
- free() (see also Freestore) ... [16.2]
 
- Freestore ... [16]
 
 
- French translation of this document ... [2.7]
 
- Friends ... [14]
 
 - Choosing between members and friends ... [14.5]
 
 - Definition of friend ... [14.1]
 
 - friend doesn't necessarily violate encapsulation ... [14.2]
 
 - Friendship privileges aren't inherited ... [14.4]
 
 - Friendship privileges aren't transitive ... [14.4]
 
 - istream operator>> ... [15.7]
 
 - ostream operator<< ... [15.6]
 
 - ostream operator<< (virtual) ... [15.8]
 
 - Pros and cons of friends ... [14.3]
 
 - Virtual Friend Function Idiom ... [14.3], [15.8]
 
 
 
- From: line of a posting (see also Netiquette) ... [5.4]
 
- FTP sites
 
 
- FWIW (Acronym) ... [5.1]
 
- FYI (Acronym) ... [5.1]
 
"G"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Generalization (see also Inheritance) ... [19.3]
 
- Genericity (see also Templates) ... [31.8]
 
- Global variables: Just Say No! ... [34.2]
 
- GNU
 
 
- Graphics ... [5.8]
 
- grind (see Pretty printing) ... [35.2]
 
- Growth of C++ ... [6.5], [6.7]
 
"H"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
"I"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Idioms
 
 
- IMHO (Acronym) ... [5.1]
 
- Immutable (const) pointers ... [18.5]
 
- IMNSHO (Acronym) ... [5.1]
 
- IMO (Acronym) ... [5.1]
 
- Imperfect programming languages ... [6.2]
 
- #include
 
 
- indent (see Pretty printing) ... [35.2]
 
- Indirection, Extra layers of ... [28.5]
 
- Infix operators ... [5.3]
 
- Inheritance ... [6.7], [19], [20], [21], [22], [23]
 
 - Abstract base classes (ABCs) ... [22], [22.2], [22.3]
 
 - Access of private: by derived ... [19.6]
 
 - Access of protected: and private: ... [19.5]
 
 - Access of protected: by derived ... [19.7]
 
 - Array of Derived vs. of Base ... [21.4]
 
 - Calling virtuals from constructors ... [23.1]
 
 - Circle vs. Ellipse ... [21.6], [21.7], [21.8], [21.9]
 
 - Derived* to Base* conversion ... [19.4], [21.2]
 
 - Derived** to Base** conversion (invalid) ... [21.2]
 
 - Derived* to private Base* conversion (invalid) ... [24.4]
 
 - Differences between C++ and Smalltalk inheritance ... [27.4]
 
 - Hiding inherited public features ... [21.1]
 
 - Hiding rule ... [23.3]
 
 - How to code inheritance ... [19.3]
 
 - Importance of inheritance ... [19.1]
 
 - Is-a-kind-of ... [19.2]
 
 - Multiple inheritance ... [6.7], [11.12], [24.2], [29.8], [29.9], [33.8], [33.11]
 
 - Old code calls new code ... [6.9]
 
 - Parking-lot of Car vs. of Vehicle ... [21.3]
 
 - private inheritance ... [24], [24.1]
 
 - private inheritance access rules ... [24.6]
 
 - private inheritance vs. composition ... [24.2], [24.3]
 
 - protected inheritance access rules ... [24.6]
 
 - protected vs. private inheritance ... [24.5]
 
 - Pure virtual functions ... [22.4]
 
 - Redefining non-virtuals ... [23.2]
 
 - Smalltalk differences ... [27.5]
 
 - Specification device ... [19.2]
 
 - virtual constructors ... [16.22], [20.5], [22.5]
 
 - virtual data ... [28.2], [28.3]
 
 - virtual destructor coding standard ... [20.4]
 
 - virtual functions ... [20.1]
 
 - virtual functions are central to OO ... [6.8]
 
 - virtual inheritance ... [11.12], [29.8], [29.9], [33.8], [33.11]
 
 - What your Mother didn't tell you ... [23]
 
 - When to use inheritance ... [19.2]
 
 
 
- Initialization lists (see also Coding standards) ... [10.6], [25.8]
 
- Initialization of a static member datum ... [10.8], [10.9], [10.10], [10.11], [10.12]
 
- Inline functions ... [9]
 
 - Better than #define macros ... [9.3]
 
 - Can degrade performance ... [9.7]
 
 - Defined outside class body ... [9.5]
 
 - Defined within class body ... [9.6]
 
 - Forward declarations ... [34.8]
 
 - Inlining virtual functions ... [28.5], [28.6]
 
 - Like a #define macro ... [9.1]
 
 - Member functions ... [9.5]
 
 - Non-member functions ... [9.4]
 
 - Safety without loss of speed ... [6.7], [9.2]
 
 
 
- Input/output ... [15]
 
 - Binary mode on MS-DOS ... [15.9]
 
 - istream and eof ... [15.2], [15.4]
 
 - istream and invalid input characters ... [15.2]
 
 - istream and while (cin >> foo) ... [15.3]
 
 - istream operator>> ... [15.7]
 
 - istream remembers bad state ... [15.5]
 
 - ostream operator<< ... [15.6]
 
 - ostream operator<< (virtual) ... [15.8]
 
 
 
- Inspector methods ... [18.9]
 
- Interfaces
 
 - A simplified view in the user's vocabulary ... [7.3]
 
 - Abstract base classes (ABCs) ... [22.2]
 
 - Design interfaces from the outside-in ... [13.10]
 
 - Goal of interface design ... [7.4]
 
 - More valuable than implementation ... [22.1]
 
 - protected interface ... [19.7]
 
 - Separate from implementation ... [22.2]
 
 
 
- Intuition isn't always correct ... [21.3], [21.4], [21.6], [21.7], [21.8]
 
- Invalid input characters (see Input/output) ... [15.2]
 
- iostream.h ... [15.1]
 
- Is-a-kind-of (see also Inheritance) ... [19.2]
 
- ISO
 
 
- Iterators ... [31.3]
 
"J"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
"K"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Kind-of (see also Inheritance) ... [19.2]
 
- Kruskal ... [5.3]
 
- KUTGW (Acronym) ... [5.1]
 
"L"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Language wars ... [6.4]
 
- Large executables ... [32.8], [33.9]
 
- Last rites (see also Destructors) ... [11.1]
 
- LaTeX
 
 - C++2LaTeX pretty printer ... [35.2]
 
 - Macros for "C++" ... [35.1]
 
 
 
- Law of the Big Three ... [16.16], [22.5], [25.8]
 
- Layer of indirection ... [28.5]
 
- Learning OO/C++ ... [26]
 
- Learning OO/C++
 
 - How long does it take ... [6.6]
 
 - No need to learn C first ... [26.2]
 
 - No need to learn Smalltalk first ... [26.3]
 
 
 
- Legal mumbo jumbo
 
 
- Legality books on C++ ... [26.4], [26.6]
 
- Length of time needed to learn OO/C++ ... [6.6]
 
- lgrind (see Pretty printing) ... [35.2]
 
- Libraries FAQ ... [32.9]
 
- Libraries ... [32]
 
 
- Lifetime of objects
 
 - Controlling lifetime of locals ... [11.6], [11.7], [11.8]
 
 - In heterogeneous containers ... [31.2]
 
 - New rule for for loop variables ... [34.2]
 
 - Order of destruction for array elements ... [11.3]
 
 - Order of destruction for locals ... [11.2]
 
 - Register liveness ... [28.5]
 
 - Using friend classes to achieve separate lifetimes ... [14.2]
 
 
 
- Linker errors ... [10.9], [23.4], [29.7], [35.5]
 
- Logical Interface different from Physical Layout ... [13.9]
 
"M"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- malloc()
 
 - (See also Freestore) ... [16.2]
 
 - Why new is preferred over malloc() ... [16.3]
 
 
 
- Managerial issues ... [6]
 
 - Business-centricity vs. Techno-centricity ... [6.4]
 
 - C++ is a practical tool ... [6.1]
 
 - C++ is not a perfect tool ... [6.2]
 
 - Growth of C++ ... [6.5]
 
 - Length of time needed to learn OO/C++ ... [6.6]
 
 - Some advantages of OO ... [6.3]
 
 - Standardization of C++ ... [6.11], [6.12]
 
 
 
- map<Key,Value> (see also STL) ... [31.1]
 
- Maseratti ... [27.5]
 
- Matrix subscript operator ... [13.8], [13.9]
 
- Member object containment ... [34.7]
 
- Mentoring ... [6.6], [26.1]
 
- Merge-sort ... [5.3]
 
- MFC
 
 
- Microsoft Windows ... [5.8], [15.9], [35.4]
 
- Minimum Spanning Trees in C++ ... [5.3]
 
- Mirror sites (see also This document) ... [2]
 
- Mixing
 
 - Mixing C and C++ code (see also C language) ... [29]
 
 - Mixing malloc() and delete ... [16.2]
 
 - Mixing new and free() ... [16.2]
 
 
 
- Monolithic class hierarchies ... [32.5], [32.6]
 
- Morality books on C++ ... [26.4], [26.5]
 
- MS-DOS ... [5.8], [15.9], [35.4]
 
- Multi-dimensional arrays
 
 
- Multiple
 
 
- mutable ... [18.10]
 
- Mutator methods ... [18.9]
 
- MYOB (Acronym) ... [5.1]
 
"N"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Named Constructor Idiom ... [10.7], [16.19], [16.22]
 
- NCITS ... [6.12]
 
- Netiquette ... [5]
 
 - From: line of a posting ... [5.4]
 
 - General netiquette ... [5.4]
 
 - Getting and reading other FAQs ... [5.9]
 
 - Posting code ... [5.7]
 
 - Reply-to: line of a posting ... [5.4]
 
 - Selecting an appropriate newsgroup ... [5.8]
 
 - Subject: line of a posting ... [5.6]
 
 
 
- new
 
 - Advantages over malloc() ... [16.3]
 
 - Allocating an array with new T[n] ... [16.10]
 
 - Mixing with free() ... [16.2]
 
 - (See also Freestore) ... [16.1]
 
 
 
- New handler (see also Freestore) ... [16.6]
 
- Newsgroups
 
 - comp.graphics ... [5.8]
 
 - comp.lang.c ... [5.8]
 
 - comp.lang.c++ ... [5.8]
 
 - comp.lang.c++.moderated ... [5.8]
 
 - comp.object ... [5.8]
 
 - comp.os.ms-windows.programmer.misc ... [5.8]
 
 - comp.os.ms-windows.programmer.tools.* ... [5.8]
 
 - comp.os.msdos.programmer ... [5.8], [35.4]
 
 - comp.os.msdos.programmer.turbovision ... [5.8]
 
 - comp.programming ... [5.8]
 
 - comp.sources.wanted ... [5.8]
 
 - comp.std.c++ ... [5.8]
 
 - comp.sys.mac.oop.* ... [5.8]
 
 - comp.sys.mac.programmer.* ... [5.8]
 
 - comp.unix.programmer ... [5.8], [35.4]
 
 - comp.unix.solaris ... [5.8]
 
 - comp.windows.ms.programmer ... [35.4]
 
 - gnu.g++.bug ... [5.8]
 
 - gnu.g++.help ... [5.8]
 
 
 
- NIHCL (National Institute of Heath Class Library) ... [32.6]
 
- No Warranty (see also C++ FAQ Lite) ... [1.4]
 
- Nuclear submarine ... [21.2]
 
- NULL ... [16.5], [16.6]
 
- Numerical Recepies code ... [32.7]
 
"O"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
"P"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Paradigm shifts ... [6.6], [29.10]
 
- Parameterized types (see also Templates) ... [31.7]
 
- Parking lots ... [21.3]
 
- Part-of (see also Composition) ... [19.2], [24.2]
 
- Pascal vs. C++ ... [6.4]
 
- Passing parameters
 
 
- Perfect programming languages ... [6.2]
 
- Permissions to copy this document ... [1]
 
- Permutations ... [5.3]
 
- Persistence ... [32.5], [32.6], [34.4]
 
- Physical Layout different from Logical Interface ... [13.9]
 
- Placement new ... [16.9]
 
- Plaintext version of C++ FAQ Lite ... [2.3], [2.4]
 
- Pointer semantics (see also Reference semantics) ... [28.1]
 
- Pointer-to-const ... [18.4], [18.5], [18.13]
 
- Pointer to function (see Pointer to member) ... [30.1]
 
- Pointer to member ... [30]
 
 - Address of a C++ method ... [30.4]
 
 - Array of pointer-to-member ... [30.6]
 
 - Contrast to pointer-to-function ... [30.1]
 
 - Converting to pointer-to-function ... [30.2], [30.3]
 
 - Passing as pointer-to-function ... [30.2]
 
 
 
- Polymorphism ... [6.7]
 
- Portuguese translation of this document ... [2.6]
 
- Postfix operators ... [5.3]
 
- Posting code (see also Netiquette) ... [5.7]
 
- Pragmatics ... [6.1]
 
- Precidence ... [13.7]
 
- Prepare to die! (see also Destructors) ... [11.1]
 
- Pretty printing
 
 
- Prim ... [5.3]
 
- private inheritance ... [24], [24.1]
 
 - Access rules ... [24.6]
 
 - Compared with composition ... [24.2]
 
 - Criteria for private inheritance vs. composition ... [24.3]
 
 - Derived* to private Base* conversion (invalid) ... [24.4]
 
 - private vs. protected inheritance ... [24.5]
 
 
 
- private: members ... [19.5], [19.6]
 
- Proficiency in OO/C++: How long does it take ... [6.6]
 
- protected inheritance
 
 - Access rules ... [24.6]
 
 - protected vs. private inheritance ... [24.5]
 
 
 
- protected: members ... [19.5]
 
 - The protected: interface ... [19.7]
 
 
 
- public: inheritance ... [19], [20], [21], [22], [23]
 
- public: members ... [19.5]
 
 - The public: interface ... [19.7]
 
 
 
- Pure OO programming languages ... [26.3]
 
- Pure virtual functions ... [22.3], [22.4]
 
"Q"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
"R"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- realloc() (see also Freestore) ... [16.4]
 
- Recent changes to this document (see also C++ FAQ Lite) ... [4]
 
- Redefining non-virtuals ... [23.2]
 
- Reference counting
 
 
- Reference semantics ... [28], [28.7], [28.8]
 
- References ... [8]
 
 
- Referent ... [8.2], [8.4], [28.2]
 
- Reply-to: line of a posting (see also Netiquette) ... [5.4]
 
- Return type ... [34.3]
 
- Row-major order ... [13.9]
 
- RTFM (Acronym) ... [5.1]
 
- rtfm.mit.edu ... [5.9]
 
- Runtime crashes without any warning ... [11.5], [11.6], [16.2], [16.4], [16.11], [16.12], [17.3], [20.4], [21.1], [21.4], [21.5], [34.2]
 
"S"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Security vs. Encapsulation (see also Encapsulation) ... [7.7]
 
- Self-assignment ... [12.1], [12.2], [12.3], [25.8]
 
- Self-cleaning member objects ... [17.2]
 
- set_new_handler (see also Freestore) ... [16.6]
 
- Short-courses (one 40 hour workweek) ... [6.6]
 
- Shortest path in C++ ... [5.3]
 
- Smalltalk ... [27]
 
 - Differences with C++ ... [27.1]
 
 - Dynamic type checking ... [27.2]
 
 - Inheritance differences ... [27.4], [27.5]
 
 - Language wars vs. C++ ... [6.4]
 
 - Not an efficient way to learn OO/C++ ... [26.3]
 
 
 
- Smart pointers ... [13.3], [16.20], [17.2]
 
- SO (Acronym) ... [5.1]
 
- Solaris ... [5.8]
 
- Sorting in C++ ... [5.3]
 
- Source filename extensions ... [25.6]
 
- Spanning Trees in C++ ... [5.3]
 
- Specialization (see also Inheritance) ... [19.3]
 
- Standardization issues ... [5.8], [6.11], [6.12], [27.1]
 
- Static
 
 - Common linker errors due to static data members ... [10.9]
 
 - Define static data members explicitly ... [10.8], [10.9]
 
 - Initialization order fiasco ... [10.10], [10.11], [10.12]
 
 - Named Constructor Idiom using static ... [10.7], [16.19], [16.22]
 
 - static at file-scope (Don't!) ... [7.5]
 
 - Static binding ... [20.2], [20.3]
 
 - static create() methods ... [10.7], [16.19], [16.22]
 
 - Static typing ... [20.2], [27.2], [27.3]
 
 
 
- Status bar with MFC ... [33.3]
 
- stdio.h ... [15.1]
 
- STL ... [32.3]
 
 
- Striding the cache (see Cache Misses) ... [13.9]
 
- string: Better than char* ... [13.6], [17.3]
 
- struct ... [7.1], [7.8]
 
- Style guidelines (see Coding standards) ... [25]
 
- Subclass
 
 - See also Inheritance ... [19.3]
 
 - Subclasses that aren't subtypes ... [27.5]
 
 
 
- Subject: line of a posting (see also Netiquette) ... [5.6]
 
- Submarines, Nuclear ... [21.2]
 
- Subscript operator for Matrix ... [13.8], [13.9]
 
- Substitutability ... [21.3], [21.4], [21.6], [21.7], [21.8]
 
- Subtypes that aren't subclasses ... [27.5]
 
- Superclass (see also Inheritance) ... [19.3]
 
- Syntactic sugar ... [13.1]
 
"T"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- .tar.gz (see Downloading) ... [2.2], [2.3], [2.4]
 
- .tar.Z (see Downloading) ... [2.2], [2.3], [2.4]
 
- Templates ... [31]
 
 - Basics of templates ... [31.4]
 
 - Class template is a family of classes ... [31.6]
 
 - Forward declarations ... [34.9]
 
 - Function template is a family of functions ... [31.5]
 
 - Genericity ... [31.8]
 
 - Multi-dimensional arrays ... [16.17]
 
 - Parameterized types ... [31.7]
 
 
 
- Ternary operator: ?: ... [25.4]
 
- TeX macros for "C++" ... [35.1]
 
- tgrind (see Pretty printing) ... [35.2]
 
- This document (see also C++ FAQ Lite) ... [3]
 
- throw ... [16.5], [16.6]
 
- To-the-power-of operator** (Can't!) ... [13.7]
 
- Todd Hoff's coding guidelines (see also Coding standards) ... [25.10]
 
- Trademarks ... [1.5]
 
- Training ... [6.6]
 
- Transitivity ... [14.4]
 
- Type safety
 
 - Comparison with Smalltalk ... [27.2]
 
 - Const correctness ... [18.2]
 
 - Static vs. dynamic typing ... [20.2]
 
 
 
- typeid() ... [31.2]
 
"U"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- Uncompiling executables back into C++ source code ... [33.4]
 
- Unix ... [5.8], [35.4]
 
- Unresolved external (see also Linker errors) ... [23.4]
 
- Usenet newsgroups (see also Newsgroups) ... [5.8]
 
"V"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
- v-pointer (see also virtual) ... [20.3], [33.8]
 
- v-table (see also virtual) ... [20.3], [21.4], [23.4], [33.8]
 
- Value semantics ... [28], [28.7], [28.8]
 
- vector<T> (see also STL) ... [10.5], [16.18], [21.4], [21.5], [32.3]
 
- Version numbers to the "language" ... [33.11]
 
- virtual
 
 - Binary compatibility of virtual functions ... [33.8]
 
 - Calling virtual functions from constructors ... [23.1]
 
 - Calling virtual functions from destructors ... [23.1]
 
 - Inlining virtual functions ... [28.5], [28.6]
 
 - Pure virtual functions ... [22.3], [22.4]
 
 - Redefining non-virtual member functions ... [23.2]
 
 - v-pointer (virtual pointer) ... [20.3], [33.8]
 
 - v-table (virtual table) ... [20.3], [21.4], [23.4], [33.8]
 
 - Virtual Constructor Idiom ... [16.22], [20.5], [22.5]
 
 - virtual data ... [28.2], [28.3]
 
 - virtual destructor coding standard ... [20.4], [25.8]
 
 - Virtual Friend Function Idiom ... [14.3], [15.8]
 
 - virtual functions ... [20]
 
 - virtual functions are central to OO ... [6.8]
 
 - virtual functions let old code call new code ... [6.9]
 
 - virtual functions, purpose of ... [20.1]
 
 - virtual inheritance ... [11.12], [29.8], [29.9], [33.8], [33.11]
 
 
 
- Visual Basic vs. C++ ... [6.4]
 
- Visual C++
 
 
"W"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
"X"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
"Y"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
"Z"  [ Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Bottom]
 E-mail the author
[ C++ FAQ Lite
| Table of contents
| Subject index
| About the author
| ©
| Download your own copy ]
Revised Oct 15, 1999