top
logo


Объявлено о готовности международного стандарта C++14 PDF Печать E-mail
19.08.14 08:49

Объявлено о готовности нового международного стандарта для языка программирования Си++ - 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/we-have-c...)
  2. OpenNews: Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта
  3. OpenNews: В стандарт C++ предложено добавить API на основе свободной графической библиотеки Cairo
  4. OpenNews: Обзор предложений для включения в состав стандарта C++14
  5. OpenNews: Опубликован новый международный стандарт для языка Си (C1X/C11)
  6. OpenNews: Спецификация C++0X принята в качестве международного стандарта C++11
Тип: К сведению
Ключевые слова: cpp, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
Реклама
id=adv>
  1.1, клоун, 12:00, 19/08/2014 [ответить] [смотреть все] –12 +/
Из компактного универсального языка хотят сделать всепогодную Яву Осталось доба... весь текст скрыт [показать]
 
  2.3, Аноним, 12:05, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  +15 +/
Универсальный - да, компактный - нет. C++ грамотно разделён на части, которые можно использовать или не использовать при желании. Он используется повсеместно, но многие товарищи (вроде Microsoft) всё норовят как-то по-своему всё делать. Стандарт для того и нужен - интегрировать в язык популярные возможности, чтобы они работали везде одинаково.
 
  3.5, клоун, 12:25, 19/08/2014 [^] [ответить] [смотреть все]  –3 +/
Мне прочитать тебе лекцию на тему стандартизации и её пределов Оптимальные стан... весь текст скрыт [показать]
 
  4.20, Sergey, 13:06, 19/08/2014 [^] [ответить] [смотреть все]  +5 +/
Ну и на хер мне код, который будет компилиться только однми компилятором ... весь текст скрыт [показать]
 
4.28, YetAnotherOnanym, 14:41, 19/08/2014 [^] [ответить] [смотреть все]  
+10 +/
> Оптимальные стандарты описывают минимум, отдавая остальное на откуп разработчикам.

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

 
  5.34, клоун, 15:21, 19/08/2014 [^] [ответить] [смотреть все]  –6 +/
Может расскажешь что отличает версии сайтов для разных браузеров друг от друга ... весь текст скрыт [показать]
 
  6.79, YetAnotherOnanym, 23:08, 19/08/2014 [^] [ответить] [смотреть все]    [к модератору]  +2 +/
Если коротко - у них жабаскрипт немножко по-разному исполняется. И ДОМ они трактуют, скажем так, "с нюансами".
 
4.39, Rodegast, 15:36, 19/08/2014 [^] [ответить] [смотреть все]  +6 +/ > Мне прочитать тебе лекцию на тему стандартизации и её пределов?

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

 4.70, Аноним, 22:13, 19/08/2014 [^] [ответить] [смотреть все]  +/
Мартышкам в своём цирке почитай Чтобы Micro oft де-факто не делала - на выходе ... весь текст скрыт [показать]
 
  5.78, Аноним, 23:04, 19/08/2014 [^] [ответить] [смотреть все]     [к модератору]  +3 +/
Эти фаготы вообще-то сами признавались что втыкают палки в колеса открытому софт... весь текст скрыт [показать]
 
  5.85, клоун, 01:20, 20/08/2014 [^] [ответить] [смотреть все]     [к модератору]  –3 +/
Чё про Мюнхен новость не написал Даже неИТшные издания её уже опубликовали Сна... весь текст скрыт [показать]
 
  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 +/ 2.32, Аноним, 15:20, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  +/
Компактным C никогда не был, а универсальность никуда не делась Более того, в... весь текст скрыт [показать] [показать ветку]
 
  3.47, Аноним, 17:38, 19/08/2014 [^] [ответить] [смотреть все]  +2 +/
Однако же все его фитчи первым делом будут включать ньюфаги в свои сорци, прикаж... весь текст скрыт [показать]
 
  4.49, Аноним, 18:18, 19/08/2014 [^] [ответить] [смотреть все]  –4 +/
Их будут включать не ньюфаги, а все кро прочитал и осилил стандарт А вы да - ли... весь текст скрыт [показать]
 
  5.52, Аноним, 19:07, 19/08/2014 [^] [ответить] [смотреть все]  +2 +/
Этот стандарт какой-то особенный, который не каждый способен осилить Хм ясно... весь текст скрыт [показать]
 
  6.55, Аноним, 20:07, 19/08/2014 [^] [ответить] [смотреть все]  –2 +/
Да видимо местные закостенелые недоучки подумали что если язык 10 лет был в стаг... весь текст скрыт [показать]
 
  7.60, Аноним, 20:43, 19/08/2014 [^] [ответить] [смотреть все]  +1 +/
Да это язык вот как уже традиционно начинает развиваться каждые 3 года в 17 выйд... весь текст скрыт [показать]
 
7.63, iZEN, 21:22, 19/08/2014 [^] [ответить] [смотреть все]  +/ > Да видимо местные закостенелые недоучки подумали что если язык 10 лет был
> в стагнации то так и будет, и можно будет до пенсии
> ничего нового не изучать чтобы не дай бог мозг не задействовать.
> А тут виш, нежданчик - язык проснулся и развиваться стал, и
> их видите ли не спросили, и теперь хочешь - не хочешь,
> придётся включать мозг, который думать уже не способен.

То же самое в Java: c начала 2000-х пели песни про XML и веб-сервисы. Наконец, пришёл DI в Java 6 и всё испохабил странным образом.

image  
  8.87, Аноним, 04:05, 20/08/2014 [^] [ответить] [смотреть все]     [к модератору]  +1 +/
В Java ничего нельзя испохабить, он родился ущербным ... весь текст скрыт [показать]
 
4.53, vollmond, 19:22, 19/08/2014 [^] [ответить] [смотреть все]  –2 +/
Собственно, кто дал право олдфагам тормозить развитие прогресса ... весь текст скрыт [показать]
 
  5.58, Аноним, 20:39, 19/08/2014 [^] [ответить] [смотреть все]  +/
Прогресс в моем понимание - это то, что движется вперед, а не в обратную сторону... весь текст скрыт [показать]
 
1.6, arisu, 12:26, 19/08/2014 [ответить] [смотреть все]  +1 +/ молодцы, глядишь — когда-нибудь и догонят D.
 
  2.23, RazrFalcon, 13:32, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  +1 +/
image
 
  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 +/ >>> Это тот D, который даже недописанный rust обгоняет по популярности?
>> и что? ты, надеюсь, винду используешь? ведь она всяко популярней линукса.
> Господи, какой типичный позорный ответ.

Мой типичный "позорный" в подобных случаях -- ткнуть носом в перевод статьи умного американца об излюбленной американской метрике по имени "популярность": http://old.russ.ru/netcult/20030422-pr.html

image  4.61, RazrFalcon, 21:05, 19/08/2014 [^] [ответить] [смотреть все]  –1 +/ Генту. Ваш ход.
image  
  5.77, Аноним, 23:02, 19/08/2014 [^] [ответить] [смотреть все]     [к модератору]  +2 +/
Ну так у нее с популярностью - не очень извини, Кэп, но я тоже хочу покап... весь текст скрыт [показать]
 
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 +/ 
1.21, Аноним, 13:15, 19/08/2014 [ответить] [смотреть все]  –3 +/
Мне одному режет глаз международный в новости ... весь текст скрыт [показать]
 
  2.26, Аноним, 14:02, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  +2 +/
 
2.27, Аноним, 14:04, 19/08/2014 [^] [ответить] [смотреть все] [показать ветку]  +/ 
  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 +/
Поддержка задания шаблонов для переменных Объясните, пожалуйста, что это и дл... весь текст скрыт [показать]
  1.37, Аноним, 15:24, 19/08/2014 [ответить] [смотреть все]  +/
Ура, обновил требование к стандарту в своих репах ... весь текст скрыт [показать]
  1.40, iZEN, 16:11, 19/08/2014 [ответить] [смотреть все]  –2 +/ Закручивают гайки C++. Ну и правильно делают.
image   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 [ответить] [смотреть все]  +/  1.93, yantux, 09:53, 20/08/2014 [ответить] [смотреть все]    [к модератору]  +1 +/ сатанинский язык, который надо запретить, он понижает качество, культуру и производительность труда программиста
 
  2.94, arisu, 09:55, 20/08/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  –1 +/
> сатанинский язык, который надо запретить, он понижает качество, культуру и производительность
> труда программиста

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

 
2.98, sorrymak, 15:20, 20/08/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  +/ И рушит духовные скрепы.
image  
1.95, Аноним, 09:56, 20/08/2014 [ответить] [смотреть все]     [к модератору]  +/
А давайте в следующую версию добавим безразмерный тип Numeric, возможность распр... весь текст скрыт [показать]
 
  2.96, Бутират, 10:01, 20/08/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  +/
добавим JSON.parse и JSON.stringify
 

Ваш комментарий  

Read more http://www.opennet.ru/opennews/art.shtml?num=40408

 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика