Интерстрон: реализация нового стандарта Си++
С публикацией перевода нового стандарта ясность еще не наступила - но это не означает, что мы "зациклились" на этой проблеме. Реализация нового стандарта идет своим чередом. Сейчас наш компилятор Си++ уже поддерживает такие возможности "нового" Си++:
1. Спецификатор типа auto для переменных.
2. Спецификатор decltype.
3. Подряд идущие закрывающие угловые скобки >> в списках параметров шаблонов.
4. Конструкция static_assert.
5. Спецификатор extern для шаблонов: extern template.
6. Расширенное friend-объявление вида friend T, где T - параметр шаблона.
7. Предопределенная переменная __func__ для функций.
8. Обобщённые константные выражения.
9. R-ссылки и ref-квалификаторы.
10. Константа nullptr.
11. Шаблоны с переменным числом параметров (variadic templates).
12. Расширенные enum'ы.
13. Списки инициализаторов.
14. Спецификатор inline для пространств имен: inline namespace.
15. Шаблонные алиасы (template<...> using <новый тип> = ...)
16. Задание =delete и =default для функций.
17. Описатель explicit для функций преобразования типа.
18. Ослабление требований к union'ам.
19. Делегирование конструкторов.
20. Наследование конструкторов.
- ну и довольно много мелких усовершенствований.
В процессе реализации находятся такие свойства, как инициализаторы для нестатических членов класса и - конечно же!- лямбда-выражения и альтернативный синтаксис объявления функций (с типом возврата в конце после "стрелочки" ->). По нашим планам это будет ближе к концу февраля.
За такие вещи, как пользовательские литералы, циклы с range, атрибуты и конструкторы перемещения (move-конструкторы) пока не брались.