LINUX.ORG.RU
ФорумTalks

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

 


1

2

http://www.opennet.ru/opennews/art.shtml?num=40408
Для Ъ:

  • Поддержка автоматического определения типа, возвращаемого любой функцией, в которой используется несколько выражений return, содержащих значение одного типа. В С++ определение типов было ограничено лямбда-функциями, содержащими только один вызов 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);
  • Добавлены псевдонимы «*_t» для трансформации типов, позволяющие уйти от использования многословных объявлений c typename (remove_reference_t вместо «typename remove_reference», make_unsigned_t вместо typename make_unsigned и т.п.);
  • Возможности обращения к элементам кортежа по типу, при условии, что в кортеже содержится только один элемент данного типа.

Не думал, что когда-нибудь это скажу, но С++ потихоньку нет-нет да становится годным.

★★★★★

Последнее исправление: beastie (всего исправлений: 1)

Не думал, что когда-нибудь это скажу, но С++ потихоньку нет-нет да становится годным.

По-моему, он до сих пор катится в СГ, но просто медленнее.

CYB3R ★★★★★
()

Не думал, что когда-нибудь это скажу, но С++ потихоньку нет-нет да становится годным.

Это тот случай, когда боржоми пить уже поздно.

mono ★★★★★
()

Страх и ненависть

Не думал, что когда-нибудь это скажу, но С++ потихоньку нет-нет да становится годным.

С++ становится даже страшнее чем оно есть сейчас.

Camel ★★★★★
()

Четкая тенденция у скатыванию в жабаскрипт.

А вообще, IT-сообщество еще никогда не изрыгало большего уродца, чем эти ваши кресты.

quwy
()
Ответ на: комментарий от quwy

Четкая тенденция у скатыванию в жабаскрипт.

Шо?

Deleted
()

международного стандарта

Ага. А есть и национальные стандарты? Форт-зимбабвийский? Си-аргентинское? Ада-северокорейская?:)

Stahl ★★☆
()

Не думал, что когда-нибудь это скажу, но С++ потихоньку нет-нет да становится годным.

С++ катится в СГ, причем неожиданно резвым темпом.

Manhunt ★★★★★
()
Ответ на: комментарий от quwy

А вообще, IT-сообщество еще никогда не изрыгало большего уродца, чем эти ваши кресты.

Perl же.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

С++ катится в СГ

Всё что ненавидят на ЛОРе однозначно годно. И С++ торт. Просто пользователи ЛОРа в большинстве - маргиналы, им нравятся ЯП которым пользуются полтора калеки.

mbivanyuk ★★★★★
()
Ответ на: комментарий от Manhunt

С++ катится в СГ, причем неожиданно резвым темпом.

Почему? Что из этих или последних нововведений - плохо?

E ★★★
()
Ответ на: комментарий от Manhunt

Не, прежде всего ты ЛОРовец, тебе важнее обхаять и показать свою элитарность ))

mbivanyuk ★★★★★
()
Ответ на: комментарий от tailgunner

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

Pavval ★★★★★
()
Ответ на: комментарий от Pavval

Да, неплохо бы. Или что-то вроде lint. Хотя ХЗ, удалось бы выделить устраивающее всех (или хотя бы большинство) подмножество.

tailgunner ★★★★★
()

Теперь мне остается лишь придумать задачу, которая потребует использовать С++ вместо С, и можно будет снова читать Страуструпа...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Pavval

Невозможно, плюсы тянут на себе кучу легаси. Если всё выкинуть, то получится другой язык.
Проще уж тогда с нуля новый язык создать.

WatchCat ★★★★★
()
Ответ на: комментарий от Solace

Например? У меня ни одной задачи нет, где было бы целесообразно вместо С использовать С++! Получилось бы лишь большее уродство + тормоза + излишняя сложность из-за попытки впендюрить ООП туда, где ООП места нет!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Любой большой программный продукт. На C он банально дороже.

Solace ★★
()

Жаль, что Страуструп не был знаком с создателями Си, иначе он узнал бы, что уже существует PL/I.

bluesman
()
Ответ на: комментарий от cvs-255

Мне только гуйня видится, чтобы классы нужны были. Но если нормальные библиотеки использовать, а не говноTK, то не нужны будут и псевдоклассы!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Получилось бы лишь большее уродство + тормоза + излишняя сложность

А что, у тебя на С другое получается? :D

Pavval ★★★★★
()
Ответ на: комментарий от Solace

А я как-то на уровень специалиста и не претендую. Быдлокодерство для меня — не источник зарплаты, а необходимость, побочный продукт деятельности.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от WatchCat

Невозможно, плюсы тянут на себе кучу легаси. Если всё выкинуть, то получится другой язык. Проще уж тогда с нуля новый язык создать.

Фффатит создавать новый язык!!!!111

Когда я читал стандарт (11), у меня создалось впечатление, что действительно можно безболезненно (кроме частичной несовместимости со старым кодом) обрезать часть вещей. Что именно - сейчас не вспомню, а перечитывать стандарт пока не очень хочу. Это бы именно разделение на «полный» С++ и «строгий» С++; чистка без каких либо форков.

Pavval ★★★★★
()
Ответ на: комментарий от Solace

Естественно. Откуда им взяться? Только на решение сиюминутных задач... Всякие там системы управления, сбора данных, мат. моделирования и т.п.

Правда, кое-что приходится и долговременно поддерживать. Скажем, опять понадобилось реализовать автогид. Старую реализацию я решил "похоронить" и сделать на ffmpeg, чтобы кода меньше рисовать.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Всякие там системы управления, сбора данных, мат. моделирования и т.п.

Для тебя и твоих задач питона хватит за глаза.

mix_mix ★★★★★
() автор топика
Ответ на: комментарий от mix_mix

Нет уж, спасибо! Я это извращение не собираюсь использовать. Сишечка приятная и понятная, а пхытон — черт-те что и сбоку бантик!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от mix_mix

А еще, как ты, скажем, предлагаешь использовать пхытон в CGI? Это ж вообще изврат!

А демон, который берет видео с /dev/videoX, обрабатывает и пихает результаты (вместе с картинкой) в циклический буфер в разделяемой памяти?

А демон, который общается с микроконтроллером?

А на сам микроконтроллер прошивочки тоже на пхытоне предлагаешь писать?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

А ты пересиль свою неприязнь и просто попробуй, ну или на худой конец посмотри как люди это делают (например). Пока ты возишься с памятью в сишке и изобретаешь велосипеды, можно в пару десятков-сотен строк накидать уже рабочий прототип чего угодно (например 1, например 2).

mix_mix ★★★★★
() автор топика
Ответ на: комментарий от bluesman

А компиляторы под него на современные платформы есть?

Xellos ★★★★★
()
Ответ на: комментарий от Eddy_Em

Всё это более чем реально, кроме «на сам микроконтроллер прошивочки» — одна из не особо многих областей, где действительно без сишки никуда.

mix_mix ★★★★★
() автор топика
Ответ на: комментарий от mix_mix

Пробовал уже (во фрикаде в качестве скриптового языка пхытон используется, а мне нужно было немного модулей дорисовать).

Я считаю пхытон извращением и недоразумением!

Для наколеночных моделей есть Octave. А для скрупулезных — сишечка. Пхытону здесь места нет!

Пока ты возишься с памятью в сишке и изобретаешь велосипеды

По крайней мере, я понимаю, что пишу! Пхытон же никакой логикой не пахнет даже!!!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от mix_mix

Знаешь, можно и на машину квадратные колеса поставить. И она даже ездить будет какое-то время...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Я считаю пхытон извращением и недоразумением!
По крайней мере, я понимаю, что пишу! Пхытон же никакой логикой не пахнет даже!!!

Всё с тобой понятно.

mix_mix ★★★★★
() автор топика
Ответ на: комментарий от mix_mix

Вот мы как раз о бесполезных знаниях заговорили в соседней теме про диодный мост.

Вот пхытон тоже — бесполезное знание. В реальности нужно знать лишь 3 ЯП: тех, С и жабоскрипт.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

А еще, как ты, скажем, предлагаешь использовать пхытон в CGI

А в чем проблема с питоном то? Или ты любитель php?

cvs-255 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.