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 (ok), 14:41, 19/08/2014 [^] [ответить]    [к модератору]  
  • +11 +/
    > Оптимальные стандарты описывают минимум, отдавая остальное на откуп разработчикам.

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

     
     
  • 5.34, клоун (?), 15:21, 19/08/2014 [^] [ответить]     [к модератору]  
  • –6 +/
    Может расскажешь что отличает версии сайтов для разных браузеров друг от друга ... весь текст скрыт [показать]
     
     
  • 6.79, YetAnotherOnanym (ok), 23:08, 19/08/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    Если коротко - у них жабаскрипт немножко по-разному исполняется. И ДОМ они трактуют, скажем так, "с нюансами".
     
     
  • 7.91, angra (ok), 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 (ok), 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 (ok), 12:29, 19/08/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    >C++ грамотно разделён на части, которые можно использовать или не использовать при желании

    Вот кстати да

     
  • 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 (ok), 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 (ok), 05:04, 20/08/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    > Собственно, кто дал право олдфагам тормозить развитие прогресса?

    прогресс вовсе не заключается в том, чтобы добавлять свистоперделки.

     
     ....нить скрыта, показать (32)

  • 1.2, kravich (ok), 12:05, 19/08/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    >Возможность указания чисел в двоичном представлении

    Отлично

     
  • 1.6, arisu (ok), 12:26, 19/08/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    молодцы, глядишь — когда-нибудь и догонят D.
     
     
  • 2.23, RazrFalcon (ok), 13:32, 19/08/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    Это тот D, который даже недописанный rust обгоняет по популярности?
     
     
  • 3.24, arisu (ok), 13:33, 19/08/2014 [^] [ответить]    [к модератору]  
  • +5 +/
    > Это тот D, который даже недописанный rust обгоняет по популярности?

    и что? ты, надеюсь, винду используешь? ведь она всяко популярней линукса.

     
     
  • 4.33, Аноним (-), 15:20, 19/08/2014 [^] [ответить]    [к модератору]  
  • +/
    >> Это тот D, который даже недописанный rust обгоняет по популярности?
    > и что? ты, надеюсь, винду используешь? ведь она всяко популярней линукса.

    Господи, какой типичный позорный ответ.

     
     
  • 5.38, arisu (ok), 15:26, 19/08/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    чётко ты меня срезал!
     
     
  • 6.54, yet another anonymous (?), 19:57, 19/08/2014 [^] [ответить]    [к модератору]  
  • +/
    https://www.opennet.ru/openforum/vsluhforumID3/97934.html#38
     
     
  • 7.88, arisu (ok), 04:23, 20/08/2014 [^] [ответить]    [к модератору]  
  • +/
    ещё какую-нибудь глупость напишешь, или уже выдохся?
     
  • 5.83, Michael Shigorin (ok), 00:14, 20/08/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    Мой типичный позорный в подобных случаях -- ткнуть носом в перевод статьи умно... весь текст скрыт [показать]
     
  • 4.61, RazrFalcon (ok), 21:05, 19/08/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    Генту. Ваш ход.
     
     
  • 5.77, Аноним (-), 23:02, 19/08/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    > Генту. Ваш ход.

    Ну так у нее с популярностью - "не очень" :)

    //извини, Кэп, но я тоже хочу покапитанить немного.

     
     
  • 6.89, arisu (ok), 04:24, 20/08/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    > //извини, Кэп, но я тоже хочу покапитанить немного.

    ок, этого можешь скушать ты, их тут много, мне не жалко. ;-)

     
  • 4.80, Куяврег (?), 23:55, 19/08/2014 [^] [ответить]    [к модератору]  
  • +/
    с языка снял
     
  • 1.8, _KUL (ok), 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 +/
    > Страуструп по придержи коней, еще С++11 не освоен совсем ... :(

    Ради деревенщины которая учиться не хочет? Зачем?

     
  • 2.102, ананим (?), 18:09, 20/08/2014 [^] [ответить]    [к модератору]  
  • +/
    > Новый стандарт не содержит кардинальных изменений и рассматривается в качестве корректирующего расширения стандарта C++11

    собсно это всего-лишь «работа над ошибками».

     
  • 1.21, Аноним (-), 13:15, 19/08/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    Мне одному режет глаз "международный" в новости?
     
     
  • 2.26, Аноним (-), 14:02, 19/08/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    Надо "российский"?
     
  • 2.27, Аноним (-), 14:04, 19/08/2014 [^] [ответить]    [к модератору]  
  • +/
    >ISO/IEC 14882:2014(E),

    где ISO - International Organization for Standardization. Чего не понятно-то?

     
     
  • 3.84, chinarulezzz (ok), 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 (ok), 16:11, 19/08/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    Закручивают гайки C++. Ну и правильно делают.
     
     
  • 2.69, Аноним (-), 21:54, 19/08/2014 [^] [ответить]    [к модератору]  
  • +3 +/
    > Закручивают гайки C++. Ну и правильно делают.

    Известный эксперт по плюсам - изен :)

     
  • 1.44, анон (?), 16:44, 19/08/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    этот ваш цпп как шлюха которая постоянно подстраиваться подо всех.и что это за стандарты такие, которые раз в год меняют и новые выходят...
     
     
  • 2.46, Аноним (-), 17:07, 19/08/2014 [^] [ответить]    [к модератору]  
  • +/
    под вас она тоже подстроилась, или всё-таки изучать пришлось?
     
  • 2.51, Аноним (-), 18:20, 19/08/2014 [^] [ответить]    [к модератору]  
  • +/
    > и что это за стандарты такие, которые раз в год меняют и новые выходят...

    О, младшие классы подтянулись. Ничего, до тысяч считать научат, сможешь отнять 2011 из 2014.

     
  • 2.66, Аноним (-), 21:49, 19/08/2014 [^] [ответить]    [к модератору]  
  • +/
    То ли дело рубисты и бидонисты - подстраиваются под ЯП и переучиваются на ровном месте постоянно :)
     
  • 1.65, Аноним (-), 21:48, 19/08/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > можно указать "a = 0b101010;" или "a = 0b100'0001;";

    Да неужели?! Не прошло и полувека!!!!

     
  • 1.71, Аноним (-), 22:15, 19/08/2014 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    20 лет ждал... весь текст скрыт [показать]
     
     
  • 2.92, arisu (ok), 05:11, 20/08/2014 [^] [ответить]    [к модератору]  
  • +/
    > 20 лет ждал

    (задумчиво)
    [code]
    import core.time;
    auto a = 3.hours;
    [/code]

     
  • 1.74, all_glory_to_the_hypnotoad (ok), 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 (ok), 09:55, 20/08/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    > сатанинский язык, который надо запретить, он понижает качество, культуру и производительность
    > труда программиста

    а я, наивный, думал, что идиотизм — он в голове, а не в языке…

     
     
  • 3.104, all_glory_to_the_hypnotoad (ok), 20:28, 20/08/2014 [^] [ответить]    [к модератору]  
  • +/
    из головы он переходит в предметы которые производят руки связанные с головой одним телом. Но плюсов это не очень касается на фоне остальных альтернативных яп.
     
  • 2.98, sorrymak (ok), 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-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor