7 Расширения языка C++
Компилятор GNU предоставляет эти расширения языка C++ (и вы также можете использовать большинство расширений языка C в своих программах на C++). Если вы хотите написать код, который проверяет, доступны ли эти функции, вы можете проверить наличие компилятора GNU так же, как и для программ на C: проверьте предварительно определённую макрокоманду __GNUC__. Вы также можете использовать __GNUG__ для проверки конкретно компилятора GNU C++ (см. Предварительно определённые макрокоманды в GNU препроцессоре C).
| • Переменные C++ volatile: | Что представляет собой доступ к объекту volatile. | |
| • Ограниченные указатели: | Ограниченные указатели и ссылки C99. | |
| • Неявная привязка: | Куда G++ помещает встраиваемые функции, таблицы виртуальных функций и т. д. | |
| • Интерфейс C++: | Вы можете использовать один файл заголовков C++ для объявлений и определений. | |
| • Инкапсуляция шаблонов: | Способы обеспечения того, что будет выпущен ровно один экземпляр каждой необходимой инкапсуляции шаблонов. | |
| • Связанные члены функций: | Вы можете извлечь указатель на функцию к методу, обозначенному выражением «->*» или «.*». | |
| • Атрибуты C++: | Атрибуты переменных, функций и типов только для C++. | |
| • Многоверсионность функций: | Объявление нескольких версий функций. | |
| • Ассоциация пространств имен: | Сильные директивы использования для ассоциации пространств имен. | |
| • Типовые свойства: | Поддержка компилятора для типовых свойств. | |
| • Концепции C++: | Улучшенная поддержка обобщенного программирования. | |
| • Исключения Java: | Настройка обработки исключений для работы с Java. | |
| • Устаревшие функции: | Функции, которые исчезнут из G++. | |
| • Обратная совместимость: | Совместимость с предыдущими определениями C++. |
Далее: Objective-C, Предыдущее: Расширения C, Вверх: Верх [Оглавление][Индекс]
© 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