Spec-Zone.ru › GCC 6

7 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 Predefined Macros in The GNU C Preprocessor).

• C++ Volatiles: What constitutes an access to a volatile object.
• Restricted Pointers: C99 restricted pointers and references.
• Vague Linkage: Where G++ puts inlines, vtables and such.
• C++ Interface: You can use a single C++ header file for both declarations and definitions.
• Template Instantiation: Methods for ensuring that exactly one copy of each needed template instantiation is emitted.
• Bound member functions: You can extract a function pointer to the method denoted by a ‘->*’ or ‘.*’ expression.
• C++ Attributes: Variable, function, and type attributes for C++ only.
• Function Multiversioning: Declaring multiple function versions.
• Namespace Association: Strong using-directives for namespace association.
• Type Traits: Compiler support for type traits.
• C++ Concepts: Improved support for generic programming.
• Java Exceptions: Tweaking exception handling to work with Java.
• Deprecated Features: Things will disappear from G++.
• Backwards Compatibility: Compatibilities with earlier definitions of C++.

Next: Objective-C, Previous: C Extensions, Up: Top [Contents][Index]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.5.0/gcc/C_002b_002b-Extensions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API