C++17

Поделись знанием:
Перейти к: навигация, поиск

С++17 (также известный как C++1z) — это неофициальное название будущей версии стандарта C++ ISO/IEC. Спецификации для C++17 находятся в стадии [isocpp.org/std разработки] и «почти завершены»[1], чтобы быть опубликованными в 2017 году.



Ожидаемые возможности

  • Добавления текстового сообщения по-умолчанию для static_assert[2]
  • Удаление триграфов[3][4]
  • Использование typename в параметрах шаблона, находящегося внутри параметров другого шаблона[5]
  • Новые правила вывода типа для auto из списка инициализации (std::initializer_list)[6][7]
  • std::uncaught_exceptions, как замена std::uncaught_exception[8][9]
  • Определение вложенных пространств имён[7][10]
  • Аттрибуты для перечислений и пространств имён[9][11]
  • Символьные литералы UTF-8[9][12]
  • Оценка константности для всех нетипизированных аргументов шаблонов[9][13]
  • Упакованные выражения[9][14]
  • Новые методы вставки для std::map и std::unordered_map[15][16]
  • Унифицированный доступ к размеру контейнеров[16][17]
  • Определение «Смежный итератор»[16][18]
  • Удаление некоторых устаревших типов и функций, например, таких как std::auto_ptr, std::random_shuffle или старых функциональных адаптеров[19][7]
  • Библиотека файловой системы, основанная на boost::filesystem[20]
  • Параллельные версии алгоритмов STL[21]
  • Некоторые математические функции[22]
  • Большую часть экспериментальной библиотеки TS I[23]

См. также

Напишите отзыв о статье "C++17"

Ссылки

  1. [isocpp.org/std/status Recent milestones: C++17 nearly feature-complete, second round of TSes now under development]
  2. [www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3928.pdf N3928: Extending static_assert, v2 (Walter E. Brown)].
  3. [www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3981.html N3981: Removing trigraphs??! (Richard Smith)] (6 мая 2014).
  4. [www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4210.pdf IBM comment on preparing for a Trigraph-adverse future in C++17], IBM paper N4210, 2014-10-10.
  5. [www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html N4051: Allow typename in a template template parameter (Richard Smith)].
  6. [www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html N3922: New Rules for auto deduction from braced-init-list (James Dennett)].
  7. 1 2 3 [isocpp.org/blog/2014/11/updates-to-my-trip-report Updates to my trip report].
  8. [isocpp.org/files/papers/n4259.pdf N4259: Wording for std::uncaught_exceptions (Herb Sutter)].
  9. 1 2 3 4 5 [isocpp.org/blog/2014/11/new-papers-adopted-for-cpp17 New core language papers adopted for C++17].
  10. [www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4230.html N4230: Nested namespace definition (Robert Kawulak, Andrew Tomazos)].
  11. [isocpp.org/files/papers/n4266.html N4266: Attributes for namespaces and enumerators (Richard Smith)].
  12. [isocpp.org/files/papers/n4267.html N4267: Adding u8 character literals (Richard Smith)].
  13. [isocpp.org/files/papers/n4268.html N4268: Allow constant evaluation for all non-type template arguments (Richard Smith)].
  14. [isocpp.org/files/papers/n4295.html N4295: Folding expressions (Andrew Sutton, Richard Smith)].
  15. [isocpp.org/files/papers/n4279.html N4279: Improved insertion interface for unique-key maps (Thomas Köppe)].
  16. 1 2 3 [isocpp.org/blog/2014/11/new-standard-library-papers-adopted-for-cpp17 New standard library papers adopted for C++17].
  17. [isocpp.org/files/papers/n4280.pdf N4280: Non-member size() and more (Riccardo Marcangelo)].
  18. [isocpp.org/files/papers/n4284.html N4284: Contiguous Iterators (Jens Maurer)].
  19. [www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190.htm N4190: Removing auto_ptr, random_shuffle(), And Old <functional> Stuff (Stephan T. Lavavej)].
  20. [www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3505.html Filesystem Library Proposal (Beman Dawes)].
  21. [isocpp.org/files/papers/P0024R2.html The Parallelism TS Should be Standardized].
  22. [isocpp.org/files/papers/P0226R1.pdf Mathematical Special Functions for C++17, v5].
  23. [isocpp.org/files/papers/p0220r1.html Adopt Library Fundamentals V1 TS Components for C++17 (R1)].

Отрывок, характеризующий C++17

И с решительностью и нежностью, которая бывает в минуты пробуждения, она обняла подругу, но заметив смущение на лице Сони, лицо Наташи выразило смущение и подозрительность.
– Соня, ты прочла письмо? – сказала она.
– Да, – тихо сказала Соня.
Наташа восторженно улыбнулась.
– Нет, Соня, я не могу больше! – сказала она. – Я не могу больше скрывать от тебя. Ты знаешь, мы любим друг друга!… Соня, голубчик, он пишет… Соня…
Соня, как бы не веря своим ушам, смотрела во все глаза на Наташу.
– А Болконский? – сказала она.
– Ах, Соня, ах коли бы ты могла знать, как я счастлива! – сказала Наташа. – Ты не знаешь, что такое любовь…
– Но, Наташа, неужели то всё кончено?
Наташа большими, открытыми глазами смотрела на Соню, как будто не понимая ее вопроса.
– Что ж, ты отказываешь князю Андрею? – сказала Соня.
– Ах, ты ничего не понимаешь, ты не говори глупости, ты слушай, – с мгновенной досадой сказала Наташа.
– Нет, я не могу этому верить, – повторила Соня. – Я не понимаю. Как же ты год целый любила одного человека и вдруг… Ведь ты только три раза видела его. Наташа, я тебе не верю, ты шалишь. В три дня забыть всё и так…
– Три дня, – сказала Наташа. – Мне кажется, я сто лет люблю его. Мне кажется, что я никого никогда не любила прежде его. Ты этого не можешь понять. Соня, постой, садись тут. – Наташа обняла и поцеловала ее.
– Мне говорили, что это бывает и ты верно слышала, но я теперь только испытала эту любовь. Это не то, что прежде. Как только я увидала его, я почувствовала, что он мой властелин, и я раба его, и что я не могу не любить его. Да, раба! Что он мне велит, то я и сделаю. Ты не понимаешь этого. Что ж мне делать? Что ж мне делать, Соня? – говорила Наташа с счастливым и испуганным лицом.
– Но ты подумай, что ты делаешь, – говорила Соня, – я не могу этого так оставить. Эти тайные письма… Как ты могла его допустить до этого? – говорила она с ужасом и с отвращением, которое она с трудом скрывала.
– Я тебе говорила, – отвечала Наташа, – что у меня нет воли, как ты не понимаешь этого: я его люблю!
– Так я не допущу до этого, я расскажу, – с прорвавшимися слезами вскрикнула Соня.
– Что ты, ради Бога… Ежели ты расскажешь, ты мой враг, – заговорила Наташа. – Ты хочешь моего несчастия, ты хочешь, чтоб нас разлучили…
Увидав этот страх Наташи, Соня заплакала слезами стыда и жалости за свою подругу.
– Но что было между вами? – спросила она. – Что он говорил тебе? Зачем он не ездит в дом?
Наташа не отвечала на ее вопрос.
– Ради Бога, Соня, никому не говори, не мучай меня, – упрашивала Наташа. – Ты помни, что нельзя вмешиваться в такие дела. Я тебе открыла…
– Но зачем эти тайны! Отчего же он не ездит в дом? – спрашивала Соня. – Отчего он прямо не ищет твоей руки? Ведь князь Андрей дал тебе полную свободу, ежели уж так; но я не верю этому. Наташа, ты подумала, какие могут быть тайные причины ?
Наташа удивленными глазами смотрела на Соню. Видно, ей самой в первый раз представлялся этот вопрос и она не знала, что отвечать на него.
– Какие причины, не знаю. Но стало быть есть причины!
Соня вздохнула и недоверчиво покачала головой.
– Ежели бы были причины… – начала она. Но Наташа угадывая ее сомнение, испуганно перебила ее.