Будет ли C ++ 14 поддерживать неограниченные родовые функции?

Пока смотрю изменения релиза GCC 4.9.0 Вот, Я был приятно удивлен, прочитав следующее; в разделе «Новые языки и языковые улучшения» для C ++:

G ++ поддерживает неограниченные родовые функции, как указано в §4.1.2
и §5.1.1 из N3889: легкая спецификация Concepts. Вкратце, авто
может использоваться как спецификатор типа в объявлении параметра любого
объявление функции для введения неявной функции
Параметр шаблона, родственный лямбдам.

// the following two function declarations are equivalent
auto incr(auto x) { return x++; }
template <typename T>
auto incr(T x) { return x++; }

Я собрал GCC 4.9.0, и мои первоначальные тесты работали как положено. Я считаю, что Concepts Lite останется каким-то вспомогательным для будущей спецификации C ++ 14. Есть ли хоть какой-нибудь план для «неограниченных родовых функций» стать частью C ++?

16

Решение

Если мы посмотрим на последний проект стандарта N3936 что довольно близко к C ++ 14 DIS, который N3937(это покрыто N3938). Он не содержит языка, указанного в разделах 4.1.2 а также 5.1.1 из N3889,

Так что для C ++ 14 похоже, что ответ — нет, но Бьярн Страуструп говорит, что концепция lite будет техническим отчетом. Вы можете найти больше о технических отчетах на Страница текущего статуса ISO cpp который говорит:

Помимо C ++ 14, комитет рассматривает возможность производства еще одного C ++
Стандарт примерно в 2017 году. Это не значит, что ничего не происходит
в то же время, потому что в настоящее время у нас есть восемь (8) отдельных
Технические спецификации находятся в стадии разработки, некоторые из которых находятся на пути к
опубликовано в 2014 и 2015 годах. Начиная с 2012 года, комитет
перешел к «разъединенной» модели, где основные части работы могут
прогресс независимо от самого Стандарта
отдельные TS. Продавцы могут выбрать для их реализации, и
сообщество может получить опыт работы с std :: экспериментальной версией
каждая особенность. Это позволяет нам изучать и корректировать дизайн каждой функции
основанный на опыте, прежде чем он будет официально включен в будущую версию
фактического стандарта C ++

5

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector