URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 110149
[ Назад ]

Исходное сообщение
"В компиляторе G++ обеспечена поддержка C++17"

Отправлено opennews , 13-Янв-17 09:58 
Разработчики GCC реализовали (https://gcc.gnu.org/projects/cxx-status.html#cxx1z) в компиляторе G++ все возможности, определённые в черновике грядущего стандарта С++17 (https://ru.wikipedia.org/wiki/C%2B%2B17) (C++1z), финальный вариант которого ожидается в этом году. В libstdc++ отдельные возможности C++17 пока остаются (https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#... нереализованными. Экспериментальная поддержка всех возможностей C++17 будет предоставлена в составе GCC 7.0 и для включения  потребует указания  флага "-std=c++1z", а для включения GNU-расширений - флага "-std=gnu++1z".


В Clang работа над поддержкой C++17 также близка к завершению (http://clang.llvm.org/cxx_status.html#cxx17), не готовыми пока остаются только лямбда-выражения constexpr (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p017... выведение (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p009... (дедукция) аргументов шаблона для шаблонов класса и сопоставление (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p052... параметров шаблона с совместимыми аргументами.

URL: https://news.ycombinator.com/item?id=13387005
Новость: http://www.opennet.dev/opennews/art.shtml?num=45846


Содержание

Сообщения в этом обсуждении
"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Anonchip , 13-Янв-17 09:58 
GCC лучший!

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 10:09 
Только сам язык C++ уже не лучший из-за неоправданной переусложнённости последними стандартами.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 10:19 
Не используй возможности последних стандартов. С++ - платишь только за то, что используешь.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 10:36 
все равно их надо изучить:
1) чтобы понять, что они тебе не нужны
2) чтобы не выпадать из тематических дискуссий (никто не тыкал в тебя, что ты давно устарел и не угнался за прогрессивными фичами)

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 10:49 
Без этого можно обойтись. Я знаю людей, которые обходятся. У меня на работе это все, кроме меня...

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 11:07 
Да, учиться вообще вредно.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Andrey Mitrofanov , 13-Янв-17 11:24 
> Да, учиться вообще вредно.

В смысле, "дурака учить - только портить"?  Согласен!  Мудрость народа, да.  Возразить %) нечего.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено rshadow , 13-Янв-17 11:20 
Это вам надо на скриптовые языки перебираться с таким подходом. Либо в работе что-то менять. Забивать гвозди микроскопом всегда было очень сложно.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено VoDA , 13-Янв-17 11:35 
> Не используй возможности последних стандартов. С++ - платишь только за то, что
> используешь.

Даже в малом проекте (человек на 5-10 разработчиков) за 5 лет будут использованы ВСЕ возможности языка и все паттерны и анти-паттерны. Потому придется изучать все. Либо собирать грабли и опять изучать.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Crazy Alex , 13-Янв-17 12:41 
Ну если у вас ни стайл-гайда, ни ревью нет... А так - вон, у гугла с мозиллой получается даже без довольно фундаментальных вещей (искючений тех же) обходиться. Отнюдь не на проектах  в 10 человек.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено ram_scan , 14-Янв-17 20:16 
А если есть стайл гад и прочие плюшки но на куда эти мегафичи уперлись вообще если коран как правило их юзать не велит ?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено scorry , 13-Янв-17 13:50 
На асм ещё пожалуйся.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Мяут , 13-Янв-17 14:04 
C++: Что если мы добавили в язык все что могли?
C++11: Что если мы не можем остановить процесс добавления возможностей?

(c) http://argumate.tumblr.com/post/118013166244/python-what-if-...


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 16:27 
> Только сам язык C++ уже не лучший из-за неоправданной переусложнённости последними стандартами.

Выскажу неожиданную для вас мысль: Последние стандарты "не только лишь" усложняют язык, но и упрощают его!

Например, теперь можно писать:

    auto

вместо

    std::vector<SomeClass::SomeCrazyType>::const_iterator

----

    class A
    {
    private:
        int i = 5;
    };

вместо

    class A
    {
    public:
        A();
    private:
        int i;
    };

    A::A()
        : i(5)
    {
    }

----

    [int a](int b) -> bool { return a == b; }

вместо

    class SameAs
    {
    public:
        SameAs(int a);
        bool operator==(int b);
    private:
        int aa;
    };

    SameAs::SameAs(int a)
        : aa(a)
    {
    }

    bool SameAs::operator==(int b)
    {
        return a == b;
    }

----

    std::vector<int> GenerateData();

вместо

    void GenerateData(std::vector<int>& result);

благодаря move-семантике.

----

Да долго всякие упрощения перечислять можно.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено all_glory_to_the_hypnotoad , 14-Янв-17 18:33 

>[оверквотинг удален]
>         int aa;
>     };
>     SameAs::SameAs(int a)
>         : aa(a)
>     {
>     }
>     bool SameAs::operator==(int b)
>     {
>         return a == b;
>     }

Так делают только законченные д..бы, в подобных случаях не нужно отделять реализацию от определения. И вообще задача выше и до лямбд не предлавляла проблемы, практически любой проект имел кучу утиля для типовых предикатов и компараторов на темплейтах вроде

template<typename Type> class SameAs {
   SameAs(Type val): Val(val) { }

   bool operator==(const Type &val) const { reutrn val == val; }
private:
   Type Val;
};


>     std::vector<int> GenerateData();
> вместо
>     void GenerateData(std::vector<int>& result);
> благодаря move-семантике.

RVO/NRVO существуют уже достаточно давно и move семантика тут абсолютно ни при чем. А если хватит ума вхерачить явный move в реализации GenerateData(), то поломаешь NVRO и наплодишь ненужный move.

> Да долго всякие упрощения перечислять можно.

Все твои "урощения" не в тему, кроме мудотни с итераторами. Хотя с упрощениями даже этого делать не обязательно, в большинстве случаев хватает range-based for loop.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено all_glory_to_the_hypnotoad , 14-Янв-17 18:05 
За последние лет 10-15 как раз таки стал лучшим. В любом случае альтернатив ему всё ещё нет, может быть только rust отрежет некоторые ниши.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 14:47 
лучший у помойки?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Andrey Mitrofanov , 13-Янв-17 15:05 
> лучший у помойки?

Не беспокойтесь. Ваши регалии вне опасности.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 10:31 
Плюсы только расцветают с последними обновлениями!

Они перестали тянуть за уши максимальную совместимость с Си-ассемблером? Язык явно становится стройнее и чище.
Ща, еще только сборщик добавят в стандарт (опциональный). И, можно сказать, мы увидим его таким, каким его задумывал Страуструп.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 10:54 
Страуструп его как раз задумал сделать без сборщика. Но против ничего не имеет, если его можно будет подключать как расширение.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Andrey Mitrofanov , 13-Янв-17 11:38 
> Страуструп его как раз задумал сделать без сборщика. Но против ничего не
> имеет, если его можно будет подключать как расширение.

На Си но проще... наверное... https://packages.debian.org/src%3Alibgc

user:~$ apt-cache rdepends libgc1c2 |grep '^  '|sort -u
  asymptote
  chase
  debfoster
  ecl
  fauhdlc
  goo
  guile-2.0-libs
  inkscape
  kaya
  libapache2-mod-parser3
  libgc-dev
  libmailutils4
  libneko0
  libsynopsis0.12
  mailutils
  parser3-cgi
  w3m
user:~$ _


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Тот_Самый_Анонимус , 13-Янв-17 11:34 
Труп страуса ещё выступал за максимальную совместимость с Си. Может вы наоборот являетесь его противником?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 00:26 
Это не так. Не за максимальную, а за максимально возможную. C++ уже в конце 80-х не был совместим с C.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Andrey Mitrofanov , 13-Янв-17 11:56 
> Плюсы только расцветают с последними обновлениями!
> Они перестали тянуть за уши максимальную совместимость с Си-ассемблером? Язык явно становится
> стройнее и чище.

Кто-то ж из Анонимов говорил, что то ли Си14 будет ообязятелен в Си++19, то ли кактие-то другие числа, но врожде ж обязателен... Вроде, на днях же ж -- но найти ссылку на авторитетного Анонима сейчас не могу.  //Ау! Где, ты, о Всеведущий??

> Ща, еще только сборщик добавят в стандарт (опциональный). И, можно сказать, мы
> увидим его таким, каким его задумывал Страуструп.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено kachsheev , 17-Янв-17 11:45 
> Кто-то ж из Анонимов говорил, что то ли Си14 будет ообязятелен в Си++19

Точно известно, что в C++17 обязателен C11. К тому же, разве C14 существует?


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено adolfus , 18-Янв-17 15:13 
Существует только С++11. Все остальное есть фейк и кал, пока не выйдет из комитета в виде печатного релиза.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Led , 19-Янв-17 00:45 
> Существует только С++11. Все остальное есть фейк и кал

А ты - первое или второе? или сочетаешь?



"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Andrey Mitrofanov , 19-Янв-17 15:13 
>> Кто-то ж из Анонимов говорил, что то ли Си14 будет ообязятелен в Си++19

", то ли кактие-то другие числа".

> Точно известно, что в C++17 обязателен C11. К тому же, разве C14
> существует?

Я позволил себе [от/про]пустить отсвоение сортов чисел. На уровне после прочтения K&R примерно. И фигурно вырезанной выше конструкцией "то ли X, то ли Y" и прикреплёнными к ней вопросами к Сверхразуму, я, как мне казалось, ясно обозначил не особую свою уверенность в тех числах.  Надеюсь, я помог Вам В Вашем затруднении?  Если ещё что-то не понятно, обращайтесь.  Спасибо.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 14:26 
Ну совместимость с Си-ассемблером у него всегда была плохая вследствие несоместимости ABI. И уж точно Страуструп не задумывал туда пихать функциональщину.

PS Ну право же, для любитей ФП и ООП одновременно есть OCaml, который тоже может в машкоды компилировать.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 10:33 
модули добавили?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено freehck , 13-Янв-17 12:13 
А пространства имён - чем не модули для плюсов?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:23 
Кому и кобыла невеста.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 16:42 
> А пространства имён - чем не модули для плюсов?

Модули - это несколько другое. А именно, возможность не вести "двойную бухгалтерию", т.е. не дублировать заголовки функций в .h и .cpp файлах. Почитайте здесь:

https://blogs.msdn.microsoft.com/vcblog/2015/12/03/c-modules.../

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


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено freehck , 13-Янв-17 17:48 
>> А пространства имён - чем не модули для плюсов?
> Модули - это несколько другое. А именно, возможность не вести "двойную бухгалтерию",
> т.е. не дублировать заголовки функций в .h и .cpp файлах.

Хм. Я понял, смысл в том, что хочется уйти от необходимости отдельно писать код в .cpp/.cxx, и отдельно описывать интерфейсы в .h, передавая эту работу компилятору, когда это возможно.

> Думаю, так использовать эту возможность нужно далеко не всегда, всё-таки часто бывает
> полезно отделять интерфейс от реализации, но в некоторых случаях модули определённо
> будут полезны.

Это смотря как реализовать. Если это будет штучка для "автоматической генерации интерфейсов", тогда скорее всего да, забьют на него.

А вот если смогут реализовать наследование, расширение модулей и генерацию на лету (functors) на основе других модулей, то это будет мега-фича. Впрочем, с фанкторами, скорее всего не получится. Они будут, пожалуй, сродни модулям первого порядка, а в c++ реализовать подобное будет сложновато.

В любом случае, спасибо за ссылку, было интересно.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено nobody , 13-Янв-17 19:58 
> Хм. Я понял, смысл в том, что хочется уйти от необходимости отдельно писать код в .cpp/.cxx

Неправильно понял. Шаблоны в .cpp не поместишь, они до сих пор живут в хэдерах. 90% того же Boost - в хэдерах. И практически всё это компилятору нужно переразбирать при компиляции чуть ли не КАЖДОГО .cpp из проекта


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Ivan , 13-Янв-17 20:01 
> Хм. Я понял, смысл в том, что хочется уйти от необходимости отдельно писать код в
> .cpp/.cxx, и отдельно описывать интерфейсы в .h, передавая эту работу компилятору,
> когда это возможно.

Я бы сказал, что это не главная фича. Основная мотивация это позволить компилятору закешировать результат парсинга/синтаксического анализа хедеров и переиспользовать его в каждой единице трансляции. Сейчас компилятору приходится парсить/анализировать хедер столько раз, сколько он инклудится в разные единицы трансляции.

Это больше напоминает precompiled хедера, только более fine-grained и встроенные в язык.

Ещё один минорным side-effect'ом является то, что это получить ODR-нарушение станет гораздо сложнее. Большинство пользователей этого не заметят, просто их программы будут работать как они ожидают.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено freehck , 14-Янв-17 12:01 
> Я бы сказал, что это не главная фича. Основная мотивация это позволить
> компилятору закешировать результат парсинга/синтаксического анализа хедеров и переиспользовать
> его в каждой единице трансляции. Сейчас компилятору приходится парсить/анализировать
> хедер столько раз, сколько он инклудится в разные единицы трансляции.

Это-то понятно. Когда интерфейсы компилируются отдельно - это станартная практика. Хорошо бы ещё позволить интерфейсы модуля прописывать отдельно, в целях инкапсуляции вспомогательных функций. Думаю, в сях многие этого хотели бы.



"В компиляторе G++ обеспечена поддержка C++17"
Отправлено adolfus , 18-Янв-17 15:14 
> А вот если смогут реализовать наследование, расширение модулей и генерацию на лету
> (functors) на основе других модулей, то это будет мега-фича. Впрочем, с
> фанкторами, скорее всего не получится. Они будут, пожалуй, сродни модулям первого
> порядка, а в c++ реализовать подобное будет сложновато.

На лету и остальная динамика хороши с точки зрения академического интереса. Для продакшена хотелось бы возможности явного отключения тяжелых конструкций, например, все динамическое, проверки границ и прочее. Чтобы было что-то типа прагмы. Указал ее и отрубились все фичи, отбирающие время и защищающие от дурака.
Не мешало бы поиметь несколько точек входа в процедуру и арифметическое ветвление на три ветки, прямой выход из вложенных вызовов с очисткой стека,


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено freehck , 05-Фев-17 02:23 
> На лету и остальная динамика хороши с точки зрения академического интереса.

Этот самый академический интерес работает не сильно медленнее обычного Си. Раза эдак в четыре всего.

> Для продакшена хотелось бы возможности явного отключения тяжелых конструкций, например, все динамическое, проверки границ и прочее. Чтобы было что-то типа прагмы.

Посмотрите на Ocaml. Там именно так и сделано.

> Не мешало бы поиметь несколько точек входа в процедуру

А может тогда лучше пусть это будут несколько разных процедур?

> и арифметическое ветвление

Ой, ну это же синтаксический сахар. Его не так уж сложно добавить.

> прямой выход из вложенных вызовов с очисткой стека,

exceptions


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:14 
используй инклюды препроцессора. модули еще он хочет.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 13:31 
Нет.

https://en.wikipedia.org/wiki/C%2B%2B17


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено dq0s4y71 , 13-Янв-17 19:10 
Ещё в 1983-м.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 10:47 
Толку то, C++17 не добавляет ничего интересного. У языка море проблем, проходят года, а они только мелочевку фиксят. Комитет сплошняком из тунеядцев. Не мудрено что появился целый зоопарк новых языков, всем просто надоело ждать. Тем более работы чтобы привести язык к приемлемому состоянию там максимум на год, а они кроме постоянного обсуждения ничего не делают.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:25 
Груз обратной совместимости

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:38 
Маловато будет для оправдания. Решение или есть, или его нет. Еслиб я столько времени тратил на раздумья, ужеб сменил с десяток работ.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено nobody , 13-Янв-17 20:00 
Давай-давай, немедленно расскажи нам всем, а ещё лучше покажи, как надо

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено ram_scan , 14-Янв-17 20:26 
> Толку то, C++17 не добавляет ничего интересного. У языка море проблем, проходят
> года, а они только мелочевку фиксят. Комитет сплошняком из тунеядцев.

Си и все что из него выросло как понятная и логичная вещь умер вместе с архитектурой PDP для которой он и был написан. Когда можно было глядеть в исходник и легко в уме прикидывать в какой бинарник чуть ли не с точностью до инструкции это все компилятор соберет.

А дальше пошло запиливание мегакостылей вокруг атавизмов 40-летней давности заради "обратной совместимости" которой по состоянию на сегодня нет чуть более чем полностью.

Все-таки дедушка Вирт прав был.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено adolfus , 18-Янв-17 15:37 
> Си и все что из него выросло как понятная и логичная вещь
> умер вместе с архитектурой PDP для которой он и был написан.

Архитектура у PDP куда лучше, чем у штеуда. Уж то под штеуд хрен какой язык напишешь, настолько все там угробищно.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 10:53 
Между 14 и 17 прошло целых 3 года. За это время вот что согласовали: https://ru.wikipedia.org/wiki/C%2B%2B17
Полнейший абсурд...

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 10:58 
«Ожидаемые» не значит все. Даже в английской версии статьи больше ожидаемых возможностей.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:20 
За 3 года ничего не сделали, и Вы считаете за оставшиеся месяцы ситуация кардинально изменится?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 14:18 
Судя по минусам есть такие люди

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 00:29 
А в чем проблема за пару месяцев дописать статью в википедии?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 16-Янв-17 09:30 
В википедию как раз не проблема, проблем в стандарт, с такими темпами то

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено WoT , 13-Янв-17 10:55 
На странице
https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#...
есть такие параметры
-std=c++11 , -std=c++14  и  -std=c++1z

Стало интересно, а почему "C++ 201z" ?
На Википедии "C++17 (also called C++1z)"


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено A.Stahl , 13-Янв-17 11:00 
У черновых вариантов всегда странные названия. Релизное же название подгоняется к виду "c++14" и т.п.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Мяут , 13-Янв-17 11:24 
Ну потому что надежды, что стандарт выпустят в течение 2й декады 21века, но непонятно в какой год, потому последнюю цифру меняют на условный "x". Так было с C++11, который сначала назывался c++0x, и с C++14 -- с++1y

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено лютый жабист__ , 13-Янв-17 11:39 
В "могучем" си по прежнему нельзя сделать switch по Стрингу? :)

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено A.Stahl , 13-Янв-17 11:47 
Ты либо стринги надень либо switch сними.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:12 
свитчи уродливая нечитабельная конструкция, else if, else if к твоим услугам

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:40 
Поскольку тип данных один - switch оптимизируется до бинарного поиска или хэш-таблицы.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 17:36 
else if по-вашему лучше? case можно выравнять и будет всё четко видно, гораздо лучше else if

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено nobody , 13-Янв-17 20:04 
Это лестница if-else-if - уродливая, нечитаемая и плохо оптимизируемая конструкция. А выбор одного из набора вариантов - фундаментальная конструкция высокоуровневых языков программирования.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 04:40 
Какая лестница? Все по строкам? И как она оптимизируется? Забудь break поставить и у тебя все полотно текста выполнится, так как нутри там тот же if else. Ох уж эти новички с самомнением

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 12:03 
Оптимизируется до логарифмического поиска или поиска по хэш таблице. Значения сортируются или строится их хэш таблицы на стадии компиляции. else if - только последовательный перебор.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:13 
switch это всего лишь синтаксический сахар.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Crazy Alex , 13-Янв-17 12:53 
В джаве - может быть. В сях и плюсах это специфическая конструкция с пачкой предположений о том, как она будет использована  и соответствующими оптимизациями.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 20:09 
switch - это goto.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 15-Янв-17 01:51 
switch (как и 'if else', 'for', 'while') это jmp.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:29 
Можно! Берёшь лексер по вкусу и будет тебе.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Crazy Alex , 13-Янв-17 12:51 
Ты не понимаешь, что такое сишный/плюсовый свитч и чем он отличается от джавовского, например. Хинт - это не о форме, это об ожидаемой реализации - вплоть до ассемблера.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Антонимус , 13-Янв-17 15:55 
Собственно можно, и не только свитч, и не только по стрингу.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено dq0s4y71 , 13-Янв-17 19:20 
М-да... Это как предъявлять претензии к Джаве, что в ней до сих пор нельзя сделать ассемблерную вставку.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:11 
Читаю изменения стандарта, даже не знал что в си были триграфы )

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено nobody , 13-Янв-17 20:09 
Вот и замечательно, что эту хрень вычистили из стандарта. Даже если ты про них не знаешь, они портят твой код, в частности строки: "??(...)" превращаются в "[...)" при компиляции...

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:15 
для начала выпилите из него классы и шаблоны, потом посмотрим.
а покачто Rust намного круче выходит.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:28 
Для чего?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено гость , 13-Янв-17 12:46 
Rust — многопользовательская компьютерная игра нового поколения в жанре симулятора выживания :-) Хе-хе :D

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:32 
для начала выпилите из Rust убогие unwrap'ы и вырвиглазный синтаксис, потом посмотрим.
а покачто c++ намного круче выходит.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 14:10 
Rust уже значительно обошел с++ по потенциалу оптимизации и безопасности кода, но по прежнему далеко отстает по библиотечной базе. Попытался тут перевести один свой C++ Qt проектик на Rust, понял сколько нужно с нуля реализовывать и забил.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Антонимус , 13-Янв-17 16:02 
>> Rust уже значительно обошел с++ по потенциалу оптимизации и безопасности кода

Давайте уже поймем, что ЛИБО оптимизация, ЛИБО безопасность.
>> Попытался тут перевести один свой C++ Qt проектик на Rust

Qt/C++ и C++ - весьма разные, вплоть до полной непохожести вещи.
>> понял сколько нужно с нуля реализовывать и забил

В смысле, с нуля Qt реализовывать?)


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 22:56 
Статический анализ, который обеспечивается в Rust'е, позволяет проверять код на безопасность, и одновременно, удивительным образом, производить оптимизации, которые в том же c++ произвести не возможно.  
Вот пример:
> void squareArrayWith100500Items (int* const dest, const int* const source)
> {
>   for (int i=0; i < 100500; ++i) {
>        dest[i] = source[i]*source[i];
>      }
>  }

C++\C, в отличии от нормальных языков, для данной функции не может провести часть оптимизаций и предрасчётов во время компиляции, не может векторизовать этот цикл, не может распараллелить его.
А всё почему?
А потому что не уверен перекрываются ли указатели dest и source. В C99 для этого ввели костыль в виде ключевого слова restrict. В языке просто нет понятия динамического массива, который бы более или менее гарантировал отсутствия перекрытий. Они эмулируются через указатели, которые не может нормально оптимизировать компилятор. И весь stl построен на указателях, оптимизация тоже не возможна.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 02:51 
Для С++ существуют статические анализаторы, например http://clang-analyzer.llvm.org .

g++ векторизирует эту функцию, вот код сгенерированный для тела цикла:

// void square(int* const dest, const int* const source, size_t lenght)
//{
//  for (size_t i = 0; i < lenght; ++i)
//    dest[i] = source[i] * source[i];
//}

<square(int*, int const*, unsigned long)>:
               ...
start:
    movdqu (%rsi,%rax,1),%xmm1
    add    $0x1,%rcx
    movdqa %xmm1,%xmm2
    pmuludq %xmm1,%xmm2
    psrlq  $0x20,%xmm1
    pshufd $0x8,%xmm2,%xmm0
    pmuludq %xmm1,%xmm1
    pshufd $0x8,%xmm1,%xmm1
    punpckldq %xmm1,%xmm0
    movdqu %xmm0,(%rdi,%rax,1)
    add    $0x10,%rax
    cmp    %rcx,%r9
    ja     start
    ...

И распараллелить автоматически тоже может, см. OpenMP.

>> И весь stl построен на указателях, оптимизация тоже не возможна.

Ты или неуч или провокатор.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 12:12 
OpenMP - не автоматические распараллеливание. Это костыль, созданный чтобы как-то поддержать с++ на плаву в многопоточивающемся мире. Он даже не входит в стандарт с++. Это отдельный стандарт для компиляторов.
> Ты или неуч или провокатор.

Без проверки перекрытия распараллелить не получится, т.к. указатели могут указывать на один и тот же участок памяти. Необходима проверка перекрытия, и в с++ она возможна только в рантайме. При этом, на стадии компиляции в RUST выясняется не только перекрываются ли они, но и на сколько перекрываются.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 02:51 
Для С++ существуют статические анализаторы, например http://clang-analyzer.llvm.org .

g++ векторизирует эту функцию, вот код сгенерированный для тела цикла:

// void square(int* const dest, const int* const source, size_t lenght)
//{
//  for (size_t i = 0; i < lenght; ++i)
//    dest[i] = source[i] * source[i];
//}

<square(int*, int const*, unsigned long)>:
               ...
start:
    movdqu (%rsi,%rax,1),%xmm1
    add    $0x1,%rcx
    movdqa %xmm1,%xmm2
    pmuludq %xmm1,%xmm2
    psrlq  $0x20,%xmm1
    pshufd $0x8,%xmm2,%xmm0
    pmuludq %xmm1,%xmm1
    pshufd $0x8,%xmm1,%xmm1
    punpckldq %xmm1,%xmm0
    movdqu %xmm0,(%rdi,%rax,1)
    add    $0x10,%rax
    cmp    %rcx,%r9
    ja     start
    ...

И распараллелить автоматически тоже может, см. OpenMP.

>> И весь stl построен на указателях, оптимизация тоже не возможна.

Ты или неуч или провокатор.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено freehck , 14-Янв-17 12:09 
> Давайте уже поймем, что ЛИБО оптимизация, ЛИБО безопасность.

Ну почему же. Бывает и так, что обе сразу, зависит лишь от того, с какой стороны глядишь. Вот, например, смотрит Racket-программист на OCaml, и понимает, что это +оптимизация, +безопасность.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 14:32 
То-то у меня периодически sks в режиме recon выпадает в сегфолт на ровном месте. Звизди больше.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено iZEN , 20-Апр-17 20:19 
> Попытался тут перевести один свой C++ Qt проектик на Rust, понял сколько нужно с нуля реализовывать и забил.

Время компиляции и сборки Rust 1.16 сопоставимо с временем компиляции и сборки LLVM 3.9.
Qt - самый жирный фреймворк/набор C++ классов. Так, чтобы собрать какую-нибудь малюсенькую программку на Qt, нужно каждый раз разворачивать архив qt-everywhere-opensource-src-4.8.7.tar.gz размером 241 МБ, чего-то с ним делать и потом удалять ненужное, получая нужное (честное слово - как статую из скалы высекаешь). Вы же выбираете самое тормозное и жручее в квадратичной степени. Зачем так делать, не понимаю. Qt непопулярный фреймворк. Оконные приложения в основном пишутся/писались на Gtk2. Лично я настороженно отношусь к приложениям с Qt.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Антонимус , 13-Янв-17 16:00 
>>для начала выпилите из него классы и шаблоны

т.е. оставить таки Pure C?
>>а покачто Rust намного круче выходит.

Откуда, простите, выходит?


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено dq0s4y71 , 13-Янв-17 19:22 
> т.е. оставить таки Pure C?

Таки да!


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено freehck , 14-Янв-17 12:10 
>>>для начала выпилите из него классы и шаблоны
> т.е. оставить таки Pure C?

Pure C + полимирфизм. Видимо, полиморфизм тому анониму по душе. А может он просто не знает про него...



"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 14:41 
Чё, полиморфизм на чистом C, это, простите, как?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено dq0s4y71 , 17-Янв-17 16:53 
http://www.state-machine.com/doc/AN_OOP_in_C.pdf

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено freehck , 25-Янв-17 01:36 
> http://www.state-machine.com/doc/AN_OOP_in_C.pdf

Жуть. Меня поражает объём работы. Не лень же кому-то было написать столько очевидных вещей.
10 страниц очевидных вещей. И картинки нарисовать... Блин. Жуть.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено nobody , 13-Янв-17 20:11 
Так надо ещё циклы и переменные выпилить для верности, чё уж там.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:24 
Фундаментальные проблемы языка всё равно не исправят. Им остается только сахарком посыпать, пока язык не умрет под натиском Rast'а и ему подобных.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:28 
> Фундаментальные проблемы языка всё равно не исправят. Им остается только сахарком посыпать,
> пока язык не умрет под натиском Rast'а и ему подобных.

расты и ему подобные приходят и уходят, а си++ остается


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:42 
т.е. к лучшему ничего не изменится?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Шоколадный заяц , 13-Янв-17 13:11 
Ну откройте вакансии и посмотрите реальную картину. Остальное - соплежуйство для школьников и студентов.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 13:52 
Для Rast'а нет.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 14:05 
Rust еще меняется и дорабатывается. С++ уже нет.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено _ , 13-Янв-17 18:04 
Поэтому на расте _обещают_ сделать новфй PostgreSQL, NNTPSec, browser engine Servo и миллион других крутых вещей ...
А на с\с++ - тупо - делают.

Выбирай :)


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 22:59 
> А на с\с++ - тупо - делают.

Сколько лет С++ и сколько Rust? На сколько стабилен Rust и на сколько стабилен c++? Понятно, почему Ваш аргумент - глупости?


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 05:46 
Поэтому на расте _обещают_ сделать новфй PostgreSQL, NNTPSec, browser engine Servo и миллион других крутых вещей ...
А на go - тупо - делают.

// fixed

Языки примерно одного возраста, только вот от раста до сих пор полезного выхлопа нет, а на го уже куча всякого разного.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 16-Янв-17 09:39 
Си(С++): https://ru.wikipedia.org/wiki/Си_(язык_программирования) 1972 год (45 лет).
Rust: https://ru.wikipedia.org/wiki/Rust_(язык_программирования) 2010 год (7 лет).
Вы прошиблись аж на 38 лет! За эти 45 лет на Си(С++) понаписано множество библиотек, операционок, драйверов и приложений.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 17:19 
Расты и ему подобные приходят навестить могилку си++ и уходят, а си++ остается лежать на кладбище.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено _ , 13-Янв-17 18:05 
Сколько говоришь у вас в штате раст-программеров ...
Дитё. ТЧК.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 17:33 
Пример приведите пожалуйста. Подобных Rust'у еще не было.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено _ , 13-Янв-17 18:08 
Ка-а-ане-е-ечна-а-а :)
Навскидку - D. Позиционировался точно так же как рас. Проще\красивее\безопаснее\быстрее\и борщ варит сам...
И чо? "Все пробуют, а замуж не берут" (С)

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 23:03 
За D, по сути, никто не стоял. За Rust стоит Mozilla Corporation.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 17:14 
Это у которой браузер пользователей теряет стремительным домкратом ?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 22:31 
Угадал, та самая, которая с 2002 работает и занимает существенную долю интернет аудитории., которая так же запилила свой весьма популярный почтовый клиент, и та, которая успела запилить свою ОС и успешно поставить ее на десятки тысяч теликов. И, как не крути, а умирать Mozilla Corporation не собирается.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Вареник , 14-Янв-17 19:24 
> За D, по сути, никто не стоял. За Rust стоит Mozilla Corporation.

- Это где каждый релиз хуже предыдущего, а бабло от продажи данных пользователей?


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено nobody , 13-Янв-17 20:14 
Objective C, Java, C#, D (несколько языков с таким названием), Go, Swift, Nim... Это из последних. Кого ещё из "убийц"/"исправлений" C/C++ забыл?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 23:09 
Objective C для Apple. С какого потолка Вы взяли, что он разрабатывался в качестве убийцы с++? А Java? Тоже убийца c++, Вы серьезно? Go разработан на замена питону, а не c++. Swift то же, что и Objective C. Nim это Lisp + Python...

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 14:12 
Можете минусовать сколько угодно, ситуацию это никак не поправит.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Andrey Mitrofanov , 13-Янв-17 14:53 
> Можете минусовать сколько угодно, ситуацию это никак не поправит.

Ну, вот тебе минус за разговор с минусами.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 15:57 
Я вообще-то про комментарий выше

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Andrey Mitrofanov , 13-Янв-17 17:45 
> Я вообще-то про комментарий выше

Заплачь ещё.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено _ , 13-Янв-17 18:09 
Остановись Андрейка. А то оно в петлю полезет :-\

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 16:10 
Ты тоже можешь кукарекать на опеннете сколько угодно, ситуацию это никак не поправит.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 17:35 
И тебе тоже в унисон подкукарекивать разрешается

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:27 
Новость ни о чем. Черновик заполняется постепенно, и наверняка g++ нагонял его ни один раз.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 12:29 
Сейчас комитет добавит микрофикс в черновик, и g++ опять перестанет поддерживать C++17 в полном объеме. Быстро поправят и можно новую новость публиковать: "В компиляторе G++ снова обеспечена поддержка чернового C++17"

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено _ , 13-Янв-17 18:11 
Комитет работает, продолжайте башлять ...
Что тут либерасты про попилы в "этой стране" пели ? :-)  

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено nobody , 13-Янв-17 20:18 
GCC обогнал Clang по реализации новых фич. Это уже значимая новость. Многие тут его хоронить собирались в появлением последнего

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Вареник , 14-Янв-17 19:26 
> GCC обогнал Clang по реализации новых фич. Это уже значимая новость. Многие
> тут его хоронить собирались в появлением последнего

- Конкуренция это хорошо.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 13:43 
С++ переусложнён.
Лучшее для нового стандарта С++ - повторить 6-ой подвиг Геракла.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 13:53 
> С++ переусложнён.

Используй BASIC.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено dq0s4y71 , 13-Янв-17 19:32 
Боже упаси! Особенно какой-нибудь VB.NET...

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 14:16 
Я вот никак тоже не пойму, обратную совместимость они уже ломали, тем же auto_ptr. Почему нельзя взять, и переделать всё нормально?!... Они там по-моему вообще не работают.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Антонимус , 13-Янв-17 16:06 
>> С++ переусложнён.

Определитесь уже, "переусложнен", или "не хватает модулей, автовывода, пропертей etc."
>> Лучшее для нового стандарта С++ - повторить 6-ой подвиг Геракла.

Собственно, как ни странно, склонен местами согласиться. Какбэ новый язык нужен по формуле НовыйЯзык = C++ - совместимость с С - обратная совместимость. И все будет в шоколаде.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено _ , 13-Янв-17 18:14 
а чо остановился то? Продолжай! К примеру:

- совместимость со всем что уже есть.

И кому нужно будет это чудо?  Нет робяты, только плавненько! Или в Ж.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 14-Янв-17 18:53 
>> Определитесь уже, "переусложнен", или "не хватает модулей, автовывода, пропертей etc."

Ты не поверишь! Они умудрились достигнуть этих целей одновременно!

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


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 14:44 
> для включения GNU-расширений - флага "-std=gnu++1z".

как обычно - без vendor lock обошлись не могли. GNU оно такое ГНУ, всех ругает а сами потихоньку..


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним84701 , 13-Янв-17 15:09 
>> для включения GNU-расширений - флага "-std=gnu++1z".
> как обычно - без vendor lock обошлись не могли. GNU оно такое
> ГНУ, всех ругает а сами потихоньку..

Ага. То ли дело компания бобра, которая  собственные расширения *_s даже в стандарт c11 пропихнула, при этом умудряясь в своих компиляторах все еще забивать на поддержку с99 и вообще, не планировать лишних телодвижений в эту сторону:
https://visualstudio.uservoice.com/forums/121579-visual-stud...
>   Visual Studio Team ADMIN
> Visual Studio Team (Product Team, Microsoft Visual Studio) responded  ·  May 08, 2012
> Our primary goal is to support "most of C99/C11 that is a subset of ISO C++98/C++11.
> We do not plan to support ISO C features that are not part of either C90 or ISO C++.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 13-Янв-17 17:57 
Устарело: https://msdn.microsoft.com/en-us/library/hh567368.aspx
Тут еще автор выше не слышал про -std=gnu99, который включает 95% плюшек, без которых невыносимо жить :)

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено nobody , 13-Янв-17 20:23 
Ну-ка, ну-ка. Без каких это гнутых плюшек Вам не живётся? 15 лет обхожусь без них

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Andrey Mitrofanov , 13-Янв-17 15:14 
>> для включения GNU-расширений - флага "-std=gnu++1z".
> как обычно - без vendor lock обошлись не могли. GNU оно такое
> ГНУ, всех ругает а сами потихоньку..

В чём локин-то, если двумя словами раньше написано про "" указания  флага "-std=c++1z" ""?

Вы можете не использовать. Если спросят -- я разрешил.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Антонимус , 13-Янв-17 16:07 
Хм... А вас прямо заставляют их включать? Не нужны - не включай. Если код их не юзает, норм. скомпилируется.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Анестезиолог , 14-Янв-17 11:52 
Ты понимаешь, что ты поехавший уже, всё?

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Ilya Indigo , 14-Янв-17 11:11 
>Экспериментальная поддержка всех возможностей C++17 будет предоставлена в составе GCC 7.0 и для включения потребует указания флага...

Они же грозились её по умолчанию запилить, для 7-ки, а теперь через флаг, да ещё и экспериментальную?


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено nobody , 14-Янв-17 14:14 
> грозились её по умолчанию запилить

Когда и кому грозились? Линк давай


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Ilya Indigo , 15-Янв-17 01:28 
>> грозились её по умолчанию запилить
> Когда и кому грозились? Линк давай

Извиняюсь, перечитав прошлые новости пруфов не нащёл.
Видать или это в комментариях было или мне показалось, что это будет так.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 16-Янв-17 14:45 
Грозились включить C++14 по умолчанию. И действительно включили - в 6.0.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Анестезиолог , 14-Янв-17 11:58 
Вывод типов в новых плюсах - это ад. Оно с самого начала было адово, потом добавился вывод типов для шаблонов, потом добавили auto, лямбды, rvalue-ссылки и move-семантику... Система типов уже напоминает романы Кафки, блджад. А они смеются и херачат ещё.

"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Вареник , 14-Янв-17 19:30 
> Вывод типов в новых плюсах - это ад. Оно с самого начала
> было адово, потом добавился вывод типов для шаблонов, потом добавили auto,
> лямбды, rvalue-ссылки и move-семантику... Система типов уже напоминает романы Кафки, блджад.
> А они смеются и херачат ещё.

Больше непоняток - больше работы. Больше работы - больше рабочих мест в IT. Всем хорошо, кроме жалоб школоты, что после бейсика сложно, а на вырвиглазный хруст проектов нет.


"В компиляторе G++ обеспечена поддержка C++17"
Отправлено Аноним , 15-Янв-17 21:58 
Когда пакет менеджер будет для C++? Задрала все продукты таскать с собой )))