The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

19.08.2014 11:49  Объявлено о готовности международного стандарта C++14

Объявлено о готовности нового международного стандарта для языка программирования Си++ - ISO/IEC 14882:2014(E), известного также под именем C++14. В настоящее время стандарт прошёл утверждение и перешёл на стадию подготовки документа к публикации, на которой будет проведена работа по редакторской правке орфографических ошибок и опечаток.

Новый стандарт не содержит кардинальных изменений и рассматривается в качестве корректирующего расширения стандарта C++11, предлагающего ряд улучшений и дополнений. C++14 примечателен самым коротким сроком подготовки спецификации (C++11 развивался более 10 лет) и обеспечением поддержки в компиляторах к моменту фактического выпуска стандарта (на обеспечение поддержки C++11 в популярных компиляторах было потрачено несколько лет). В частности, полноценная поддержка C++14 уже реализована в LLVM/Clang 3.4, а частичная поддержка C++14 доступна для пользователей GCC, IBM C++ и Microsoft C++.

Основные новшества:

  • Улучшения в языке:
    • Возможность указания чисел в двоичном представлении и наглядного отделения цифр в числе, например, теперь можно указать "a = 0b101010;" или "a = 0b100'0001;";
    • Поддержка автоматического определения типа, возвращаемого любой функцией, в которой используется несколько выражений return, содержащих значение одного типа. В С++11 определение типов было ограничено лямбда-функциями, содержащими только один вызов return;
    • Реализован дополнительный синтаксис определения типа - decltype(auto), который можно использовать для определения результирующего типа возвращаемого функцией значения (например, "string lookup1(); decltype(auto) look_up_a_string_1() { return lookup1(); }");
    • Поддержка захвата переменных лямбда-функций с возможностью захватывать переменные с перемещением значения и объявлять произвольные локальные переменные в лямбда-объекте;
    • Возможность указания типа "auto" для лямбда-выражений, позволяющего вынести определение типа на плечи компилятора по аналогии с вычислением типов переменных, объявленных с указанием ключевого слова "auto";
    • Поддержка задания шаблонов для переменных, в дополнение к ранее поддерживаемым шаблонам для функций и классов;
    • Расширение числа возможностей, которые можно использовать внутри функций constexpr. В частности, C++14 позволяет объявлять локальные переменные и использовать выражения if, switch, for, while, do-while, допускает мутацию объектов;
    • Добавлен атрибут "[[deprecated]]", при помощи которого можно пометить элемент устаревшим, после чего останется возможность использования этого элемента, но будут выводиться предупреждения, что в будущем его поддержка может быть прекращена.
  • Улучшения в стандартной библиотеке:
    • Поддержка разделяемых мьютексов (shared_mutex) и разделяемых блокировок (shared_lock);
    • Возможность определения пользователем собственных литералов для std::types, которые не могут использоваться в стандартной библиотеке. Из добавленных стандартных литералов отмечаются "s" (для строковых типов std::basic_string), "h", "min", "s", "ms", "us" и "ns" (для временных интервалов std::chrono::duration);
    • Поддержка выражения make_unique для объектов unique_ptr, похожего по сути на make_shared, но без добавления оптимизаций;
    • Добавлены псевдонимы "*_t" для трансформации типов, позволяющие уйти от использования многословных объявлений c typename (remove_reference_t вместо "typename remove_reference", make_unsigned_t вместо typename make_unsigned и т.п.);
    • Возможности обращения к элементам кортежа по типу, при условии, что в кортеже содержится только один элемент данного типа.


  1. Главная ссылка к новости (http://isocpp.org/blog/2014/08...)
  2. OpenNews: Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта
  3. OpenNews: В стандарт C++ предложено добавить API на основе свободной графической библиотеки Cairo
  4. OpenNews: Обзор предложений для включения в состав стандарта C++14
  5. OpenNews: Опубликован новый международный стандарт для языка Си (C1X/C11)
  6. OpenNews: Спецификация C++0X принята в качестве международного стандарта C++11
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: cpp
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, клоун, 12:00, 19/08/2014 [ответить] [смотреть все]
  • –12 +/
    Из компактного универсального языка хотят сделать всепогодную Яву Осталось доба... весь текст скрыт [показать]
     
     
  • 2.3, Аноним, 12:05, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +16 +/
    Универсальный - да, компактный - нет. C++ грамотно разделён на части, которые можно использовать или не использовать при желании. Он используется повсеместно, но многие товарищи (вроде Microsoft) всё норовят как-то по-своему всё делать. Стандарт для того и нужен - интегрировать в язык популярные возможности, чтобы они работали везде одинаково.
     
     
  • 3.5, клоун, 12:25, 19/08/2014 [^] [ответить] [смотреть все]  
  • –2 +/
    Мне прочитать тебе лекцию на тему стандартизации и её пределов Оптимальные стан... весь текст скрыт [показать]
     
     
  • 4.20, Sergey, 13:06, 19/08/2014 [^] [ответить] [смотреть все]  
  • +5 +/
    Ну и на хер мне код, который будет компилиться только однми компилятором?
     
  • 4.28, YetAnotherOnanym, 14:41, 19/08/2014 [^] [ответить] [смотреть все]  
  • +11 +/
    > Оптимальные стандарты описывают минимум, отдавая остальное на откуп разработчикам.

    Веб-дизайнеры, которые держат несколько версий одного сайта для разных броузеров и их поколений, готовы обнять и расцеловать тебя за эти слова.

     
     
  • 5.34, клоун, 15:21, 19/08/2014 [^] [ответить] [смотреть все]  
  • –6 +/
    Может расскажешь что отличает версии сайтов для разных браузеров друг от друга ... весь текст скрыт [показать]
     
     
  • 6.79, YetAnotherOnanym, 23:08, 19/08/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    Если коротко - у них жабаскрипт немножко по-разному исполняется И ДОМ они тракт... весь текст скрыт [показать]
     
     
  • 7.91, angra, 05:11, 20/08/2014 [^] [ответить] [смотреть все]  
  • +3 +/
    Добавим к этому различия в css и даже html и получим, что нет ни единой составля... весь текст скрыт [показать]
     
  • 6.103, Аноним, 19:04, 20/08/2014 [^] [ответить] [смотреть все]  
  • +/
    Могу сказать что у них общее ж порукость создателей сайта и или браузера под ко... весь текст скрыт [показать]
     
  • 4.39, Rodegast, 15:36, 19/08/2014 [^] [ответить] [смотреть все]  
  • +7 +/
    > Мне прочитать тебе лекцию на тему стандартизации и её пределов?

    Да читай! Я с удовольствием её послушаю :D

     
  • 4.70, Аноним, 22:13, 19/08/2014 [^] [ответить] [смотреть все]  
  • +/
    Мартышкам в своём цирке почитай Чтобы Micro oft де-факто не делала - на выходе ... весь текст скрыт [показать]
     
     
  • 5.78, Аноним, 23:04, 19/08/2014 [^] [ответить] [смотреть все]  
  • +3 +/
    Эти фаготы вообще-то сами признавались что втыкают палки в колеса открытому софт... весь текст скрыт [показать]
     
  • 4.82, Michael Shigorin, 00:11, 20/08/2014 [^] [ответить] [смотреть все]  
  • +5 +/
    OOXML Шоб вас, теоретиков, хоть передёргивать-то грамотно учили в некрософте... весь текст скрыт [показать]
     
     
  • 5.85, клоун, 01:20, 20/08/2014 [^] [ответить] [смотреть все]  
  • –5 +/
    Чё про Мюнхен новость не написал Даже неИТшные издания её уже опубликовали Сна... весь текст скрыт [показать]
     
     
  • 6.97, Аноним, 11:33, 20/08/2014 [^] [ответить] [смотреть все]  
  • +/
    А ты, смешной.
     
     
  • 7.99, Аноним, 15:36, 20/08/2014 [^] [ответить] [смотреть все]  
  • +/
    Да чего смешного Клоун дешево отрабатывает бабки MS, на заказ поливая то за что... весь текст скрыт [показать]
     
  • 5.86, клоун, 01:23, 20/08/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Пока тут новости про версию 2 0 9 6 666, сервисы привлекают больше 1 млрд инве... весь текст скрыт [показать]
     
     
  • 6.100, Аноним, 15:37, 20/08/2014 [^] [ответить] [смотреть все]  
  • +/
    Тебе от этого миллиарда ничего не обломится, да и большинство новых стартапов ка... весь текст скрыт [показать]
     
  • 3.9, kravich, 12:29, 19/08/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Вот кстати да... весь текст скрыт [показать]
     
  • 2.4, Аноним, 12:21, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –3 +/
    > компактного

    Ну ты и клоун.

     
  • 2.11, Nuzhny, 12:48, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    С++ никогда не был маленьким и компактным.  Не путай его с С.
     
     
  • 3.101, Аноним, 15:38, 20/08/2014 [^] [ответить] [смотреть все]  
  • +/
    Ты хотел компетенции от дешевого MSовского наймита, да еще с таким ником Ишь, р... весь текст скрыт [показать]
     
  • 2.32, Аноним, 15:20, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Компактным C никогда не был, а универсальность никуда не делась Более того, в... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.47, Аноним, 17:38, 19/08/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    Однако же все его фитчи первым делом будут включать ньюфаги в свои сорци, прикаж... весь текст скрыт [показать]
     
     
  • 4.49, Аноним, 18:18, 19/08/2014 [^] [ответить] [смотреть все]  
  • –5 +/
    Их будут включать не ньюфаги, а все кро прочитал и осилил стандарт А вы да - ли... весь текст скрыт [показать]
     
     
  • 5.52, Аноним, 19:07, 19/08/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    Этот стандарт какой-то особенный, который не каждый способен осилить Хм ясно... весь текст скрыт [показать]
     
     
  • 6.55, Аноним, 20:07, 19/08/2014 [^] [ответить] [смотреть все]  
  • –3 +/
    Да видимо местные закостенелые недоучки подумали что если язык 10 лет был в стаг... весь текст скрыт [показать]
     
     
  • 7.60, Аноним, 20:43, 19/08/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    Да это язык вот как уже традиционно начинает развиваться каждые 3 года в 17 выйд... весь текст скрыт [показать]
     
  • 7.63, iZEN, 21:22, 19/08/2014 [^] [ответить] [смотреть все]  
  • +/
    То же самое в Java c начала 2000-х пели песни про XML и веб-сервисы Наконец, п... весь текст скрыт [показать]
     
     
  • 8.87, Аноним, 04:05, 20/08/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    В Java ничего нельзя испохабить, он родился ущербным.
     
  • 4.53, vollmond, 19:22, 19/08/2014 [^] [ответить] [смотреть все]  
  • –3 +/
    Собственно, кто дал право олдфагам тормозить развитие прогресса?
     
     
  • 5.58, Аноним, 20:39, 19/08/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Прогресс в моем понимание - это то, что движется вперед, а не в обратную сторону... весь текст скрыт [показать]
     
  • 5.90, arisu, 05:04, 20/08/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    прогресс вовсе не заключается в том, чтобы добавлять свистоперделки ... весь текст скрыт [показать]
     
  • 1.2, kravich, 12:05, 19/08/2014 [ответить] [смотреть все]  
  • +2 +/
    >Возможность указания чисел в двоичном представлении

    Отлично

     
  • 1.6, arisu, 12:26, 19/08/2014 [ответить] [смотреть все]  
  • +1 +/
    молодцы, глядишь — когда-нибудь и догонят D.
     
     
  • 2.23, RazrFalcon, 13:32, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Это тот D, который даже недописанный rust обгоняет по популярности?
     
     
  • 3.24, arisu, 13:33, 19/08/2014 [^] [ответить] [смотреть все]  
  • +5 +/
    и что ты, надеюсь, винду используешь ведь она всяко популярней линукса ... весь текст скрыт [показать]
     
     
  • 4.33, Аноним, 15:20, 19/08/2014 [^] [ответить] [смотреть все]  
  • +/
    Господи, какой типичный позорный ответ ... весь текст скрыт [показать]
     
     
  • 5.38, arisu, 15:26, 19/08/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    чётко ты меня срезал!
     
     
  • 6.54, yet another anonymous, 19:57, 19/08/2014 [^] [ответить] [смотреть все]  
  • +/
    http://www.opennet.ru/openforum/vsluhforumID3/97934.html#38
     
     
  • 7.88, arisu, 04:23, 20/08/2014 [^] [ответить] [смотреть все]  
  • +/
    ещё какую-нибудь глупость напишешь, или уже выдохся?
     
  • 5.83, Michael Shigorin, 00:14, 20/08/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Мой типичный позорный в подобных случаях -- ткнуть носом в перевод статьи умно... весь текст скрыт [показать]
     
  • 4.61, RazrFalcon, 21:05, 19/08/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Генту. Ваш ход.
     
     
  • 5.77, Аноним, 23:02, 19/08/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    Ну так у нее с популярностью - не очень извини, Кэп, но я тоже хочу покап... весь текст скрыт [показать]
     
     
  • 6.89, arisu, 04:24, 20/08/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    ок, этого можешь скушать ты, их тут много, мне не жалко - ... весь текст скрыт [показать]
     
  • 4.80, Куяврег, 23:55, 19/08/2014 [^] [ответить] [смотреть все]  
  • +/
    с языка снял
     
  • 1.8, _KUL, 12:27, 19/08/2014 [ответить] [смотреть все]  
  • +2 +/
    Страуструп по придержи коней, еще С++11 не освоен совсем ... :(
     
     
  • 2.13, Доктор Звездулькин, 12:54, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А они, наверное, так подгоняют коней Разработчики компиляторов говорят У нас ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.17, Аноним, 13:01, 19/08/2014 [^] [ответить] [смотреть все]  
  • +/
    Нормальные компиляторы уже поддерживают стандарт и часть будущего стандарта.
     
  • 2.35, Аноним, 15:21, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –5 +/
    Ради деревенщины которая учиться не хочет Зачем ... весь текст скрыт [показать] [показать ветку]
     
  • 2.102, ананим, 18:09, 20/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    собсно это всего-лишь 171 работа над ошибками 187 ... весь текст скрыт [показать] [показать ветку]
     
  • 1.21, Аноним, 13:15, 19/08/2014 [ответить] [смотреть все]  
  • –3 +/
    Мне одному режет глаз "международный" в новости?
     
     
  • 2.26, Аноним, 14:02, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Надо "российский"?
     
  • 2.27, Аноним, 14:04, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    где ISO - International Organization for Standardization Чего не понятно-то ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.84, chinarulezzz, 00:57, 20/08/2014 [^] [ответить] [смотреть все]  
  • +/
    по букве, но не по факту))
     
  • 1.22, Аноним, 13:27, 19/08/2014 [ответить] [смотреть все]  
  • +/
    А изменений не слишком мало для нового стандарта?
     
     
  • 2.30, Devider_, 14:42, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +7 +/
    Скажите "слава Богу".
     
  • 2.57, Аноним, 20:36, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    так гораздо лучше, чем 10 лет разрабатывать стандарт с огромной кучей новых фич,... весь текст скрыт [показать] [показать ветку]
     
  • 2.73, Аноним, 22:26, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Да уж, могли бы сигналы и слоты ... весь текст скрыт [показать] [показать ветку]
     
  • 1.25, Аноним, 13:38, 19/08/2014 [ответить] [смотреть все]  
  • –1 +/
    Поддержка задания шаблонов для переменных Объясните, пожалуйста, что это и дл... весь текст скрыт [показать]
     
     
  • 2.36, Аноним, 15:23, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    google variable template С вас 100 за консультацию, обращайтесь ... весь текст скрыт [показать] [показать ветку]
     
  • 1.37, Аноним, 15:24, 19/08/2014 [ответить] [смотреть все]  
  • +/
    Ура, обновил требование к стандарту в своих репах.
     
     
  • 2.43, Аноним, 16:22, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    > Ура, обновил требование к стандарту в своих репах.

    и тут ты проснулся

     
  • 1.40, iZEN, 16:11, 19/08/2014 [ответить] [смотреть все]  
  • –3 +/
    Закручивают гайки C++. Ну и правильно делают.
     
     
  • 2.69, Аноним, 21:54, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    Известный эксперт по плюсам - изен ... весь текст скрыт [показать] [показать ветку]
     
  • 1.44, анон, 16:44, 19/08/2014 [ответить] [смотреть все]  
  • –3 +/
    этот ваш цпп как шлюха которая постоянно подстраиваться подо всех и что это за с... весь текст скрыт [показать]
     
     
  • 2.46, Аноним, 17:07, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    под вас она тоже подстроилась, или всё-таки изучать пришлось?
     
  • 2.51, Аноним, 18:20, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    О, младшие классы подтянулись Ничего, до тысяч считать научат, сможешь отнять 2... весь текст скрыт [показать] [показать ветку]
     
  • 2.66, Аноним, 21:49, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    То ли дело рубисты и бидонисты - подстраиваются под ЯП и переучиваются на ровном... весь текст скрыт [показать] [показать ветку]
     
  • 1.65, Аноним, 21:48, 19/08/2014 [ответить] [смотреть все]  
  • +/
    Да неужели Не прошло и полувека ... весь текст скрыт [показать]
     
  • 1.71, Аноним, 22:15, 19/08/2014 [ответить] [смотреть все]  
  • +/
    20 лет ждал... весь текст скрыт [показать]
     
     
  • 2.92, arisu, 05:11, 20/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    задумчиво code import core time auto a 3 hours code ... весь текст скрыт [показать] [показать ветку]
     
  • 1.74, all_glory_to_the_hypnotoad, 22:46, 19/08/2014 [ответить] [смотреть все]  
  • +/
    >  частности, полноценная поддержка C++14 уже реализована в LLVM/Clang 3.4

    о как, c++11 поддерживать до конца ещё не научились, а 14 полноценно умеют.

     
  • 1.93, yantux, 09:53, 20/08/2014 [ответить] [смотреть все]  
  • +1 +/
    сатанинский язык, который надо запретить, он понижает качество, культуру и производительность труда программиста
     
     
  • 2.94, arisu, 09:55, 20/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    а я, наивный, думал, что идиотизм 8212 он в голове, а не в языке 8230 ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.104, all_glory_to_the_hypnotoad, 20:28, 20/08/2014 [^] [ответить] [смотреть все]  
  • +/
    из головы он переходит в предметы которые производят руки связанные с головой од... весь текст скрыт [показать]
     
  • 2.98, sorrymak, 15:20, 20/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    И рушит духовные скрепы.
     
  • 1.95, Аноним, 09:56, 20/08/2014 [ответить] [смотреть все]  
  • +/
    А давайте в следующую версию добавим безразмерный тип Numeric, возможность распр... весь текст скрыт [показать]
     
     
  • 2.96, Бутират, 10:01, 20/08/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    добавим JSON.parse и JSON.stringify
     
  • 1.105, оарврс, 22:07, 20/08/2014 [ответить] [смотреть все]  
  • +/
    Хочу тип decimal
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor