7 Расширения языка C++
Компилятор GNU предоставляет эти расширения языка C++ (и вы также можете использовать большинство расширений языка C в своих программах на C++). Если вы хотите написать код, который проверяет, доступны ли эти функции, вы можете проверить компилятор GNU так же, как и для программ на C: проверьте предопределенную макрокоманду __GNUC__. Вы также можете использовать __GNUG__ для проверки конкретно для GNU C++ (см. Предопределенные макросы в GNU Препроцессоре C).
| • Изменчивые объекты C++: | Что представляет собой доступ к изменчивому объекту. | |
| • Ограниченные указатели: | Ограниченные указатели и ссылки C99. | |
| • Нечеткая ссылка: | Куда G++ помещает встраиваемые функции, vtable и тому подобное. | |
| • Интерфейс C++: | Вы можете использовать один файл заголовка C++ для объявлений и определений. | |
| • Инкапсуляция шаблонов: | Способы обеспечения того, что будет создана ровно одна копия каждой необходимой инкапсуляции шаблона. | |
| • Связанные члены-функции: | Вы можете извлечь указатель на функцию для метода, обозначенного выражением «->*» или «.*». | |
| • Атрибуты C++: | Атрибуты переменных, функций и типов только для C++. | |
| • Многоверсионность функций: | Объявление нескольких версий функций. | |
| • Свойства типов: | Поддержка компилятором свойств типов. | |
| • Концепции C++: | Улучшенная поддержка обобщенного программирования. | |
| • Устаревшие функции: | Функции, которые исчезнут из G++. | |
| • Обратная совместимость: | Совместимость со старыми определениями C++. |
Далее: Objective-C, Предыдущее: Расширения языка C, Вверх: Вернуться наверх [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.5.0/gcc/C_002b_002b-Extensions.html