C1x: Когда он приземлится, чего ожидать?
C99 все еще не поддерживается многими компиляторами, и большая часть внимания теперь сосредоточена на С++ и его предстоящем стандартном С++ 1x.
Мне любопытно, что C "получит" в своем следующем стандарте, когда он его получит, и как он будет поддерживать конкуренцию на C. C и С++, как известно, дополняют друг друга улучшениями, будет ли C поддерживать стандарт С++ 1x?
Чего я могу ожидать в будущем?
Ответы
Ответ 1
стандарт ISO/IEC 9899: 2011, известный как C11, был опубликован в декабрь 2011 г..
Последний черновик N1570; Я не знаю никаких различий между ним и окончательным стандартом. Уже существует Техническое исправление, устанавливающее надзор в спецификации __STDC_VERSION__
(теперь 201112L
) и необязательный __STDC_LIB_EXT1__
(теперь 201112L
).
Ответ 2
Я печатал список функций, но заметил, что страница Wikipedia на C1X содержит довольно полный список всех предлагаемых изменений.
В рабочих группах рабочей группы ISO C после рассылки сообщений на веб-сайте . Одним из наиболее интересных является отчет редактора.
Ответ 3
Здесь сводка со страницы Википедии:
- Спецификация выравнивания (спецификатор
_Align
, оператор alignof
, aligned_alloc
)
- Поддержка многопоточности (
_Thread_local
спецификатор класса хранения, заголовок <threads.h>
, включая функции создания/управления потоком, мьютекс, переменную условия и функциональные возможности для конкретных потоков)
- Улучшена поддержка Unicode (
char16_t
и char32_t
) для хранения кодированных данных UTF-16/UTF-32, включая соответствующие префиксы строк и U строк и преобразования в <uchar.h>
)
- Удаление функции
gets
- Интерфейсы проверки границ (Приложение K)
- Возможности анализа (Приложение L)
Ответ 4
Вероятно, лучшим местом для поиска текущего статуса будет просмотр последнего проекта новой версии стандарта C. Предупреждение: хотя он поступает непосредственно из комитета, сервер за этой ссылкой не всегда является наиболее отзывчивым...
Ответ 5
Похоже, что gcc с 4.6 начиная, чтобы посмотреть на C1x. Они утверждают, что:
- Статические утверждения (ключевое слово _Static_assert)
- переопределение Typedef
- Новые макросы в < float.h >
- Анонимные структуры и союзы