[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. Extensions to the C++ Language

The GNU compiler provides these extensions to the C++ language (and you can also use most of the C language extensions in your C++ programs). If you want to write code that checks whether these features are available, you can test for the GNU compiler the same way as for C programs: check for a predefined macro __GNUC__. You can also use __GNUG__ to test specifically for GNU C++ (see section `Standard Predefined Macros' in The C Preprocessor).

6.1 Minimum and Maximum Operators in C++  C++ Minimum and maximum operators.
6.2 When is a Volatile Object Accessed?  What constitutes an access to a volatile object.
6.3 Restricting Pointer Aliasing  C99 restricted pointers and references.
6.4 Vague Linkage  Where G++ puts inlines, vtables and such.
6.5 Declarations and Definitions in One Header  You can use a single C++ header file for both declarations and definitions.
6.6 Where's the Template?  Methods for ensuring that exactly one copy of each needed template instantiation is emitted.
6.7 Extracting the function pointer from a bound pointer to member function  You can extract a function pointer to the method denoted by a `->*' or `.*' expression.
6.8 C++-Specific Variable, Function, and Type Attributes  Variable, function, and type attributes for C++ only.
6.9 Java Exceptions  Tweaking exception handling to work with Java.
6.10 Deprecated Features  Things might disappear from g++.
6.11 Backwards Compatibility  Compatibilities with earlier definitions of C++.



This document was generated by Vincent Chung on June, 26 2001 using texi2html