jcxz 182 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 1 час назад, Forger сказал: Так покажите пожалуйста, где этот auto как вполне рядовая вещь начиная аж с C++11, стала вдруг создавать такие проблемы (на примере цикла for) ? auto - это вроде как задание типа памяти? Подобно static или register. Тогда где указание типа переменной (int/unsigned/...)? Я так полагаю - компилятор ругается на то, что как раз тип и не указан. Естественно он подставит дефолтный тип (int) предварительно обругав горе-программиста. И какой тогда смысл всего этого (auto без явного указания типа)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 21 minutes ago, scifi said: Предупреждение: "так как тип не указан, подразумевается int". Ну и да, если не хотите почитать, что такое "auto", то и не надо. Так даже лучше: невежество - блаженство, меньше знаешь - лучше спишь, от многой мудрости много скорби, умножающий знание умножает печаль и т.д. Я пишу под C++ (как минимум C++11), auto - это вполне типовая вещь, значительно упрощает код наравне с другими дополнениями. Логично, что у C конструкция auto вызывает лютый butthurt. Это нормально. Для архаичного языка. 10 minutes ago, jcxz said: auto - это вроде как задание типа памяти? Подобно static или register. Тогда где указание типа переменной (int/unsigned/...)? Я так полагаю - компилятор ругается на то, что как раз тип и не указан. Естественно он подставит дефолтный тип (int) предварительно обругав горе-программиста. И какой тогда смысл всего этого (auto без явного указания типа)? В голом C это обстоит именно так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 182 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 6 минут назад, Forger сказал: В голом C это обстоит именно так. В си++ - тоже так. Вот что выдаёт IAR_7.80.4 на такое "художество": "Error[Pe260]: explicit type is missing ("int" assumed) D:\WORK\INVERTOR\WORK.SRC\ENET\dns.cpp 256 ". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 6 minutes ago, jcxz said: В си++ - тоже так. Вот что выдаёт IAR на такое "художество": "Error[Pe260]: explicit type is missing ("int" assumed) D:\WORK\INVERTOR\WORK.SRC\ENET\dns.cpp 256 ". auto - это конструкция не просто языка С++, полноценно работает как минимум в C++11. Поэтому см. настройки компилятора, в некоторых старых компиляторах эта настройка по-умолчанию стоит на С++98. Использую ARM Compiler v6, в нем С++11 - full supported, включена по-умолчанию, при желании можно включить даже C++14, но пока только частично. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 182 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 5 минут назад, Forger сказал: Использую ARM Compiler v6, в нем С++11 - full supported, включена по-умолчанию, при желании можно включить даже C++14, но пока только частично. Кто-то тут только что упрекал другого участника в том, что тот не указывает тип и версию используемого компилятора. Сам при этом используя редкий, мало кем используемый диалект и также не указывая что речь идёт про него Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 9 minutes ago, jcxz said: Кто-то тут только что упрекал другого участника в том, что тот не указывает тип и версию используемого компилятора. Сам при этом используя редкий, мало кем используемый диалект и также не указывая что речь идёт про него Указал это сразу же: 2 hours ago, Forger said: С антикварными компиляторами давно не работал, спорить не буду, тут вам виднее С другой стороны согласен, многие еще остались в прошлом 20м веке. Это факт у меня все еще вызывает удивление. Никак не привыкну. Пардон Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба IAR, конечно, отстаёт от GCC в поддержке стандарта, но они стараются. Уже сейчас он вот такую няшку компилирует. template<auto f(), unsigned N> void inline Repeat() __attribute__((always_inline)) { if constexpr (N) { f(); Repeat<f, N-1>(); } } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 1 hour ago, VladislavS said: Уже сейчас он вот такую няшку компилирует. Это уже как минимум C++17 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба Так точно! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 2 minutes ago, VladislavS said: Так точно! Если даже голые плюсы тут по-прежнему вызывают "лютые разрывы пуканов", то что уж говорить про C++17 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 1 час назад, Forger сказал: Если даже голые плюсы тут по-прежнему вызывают "лютые разрывы пуканов", то что уж говорить про C++17 Помнить, чем там отличается C++11 от C++14, и в свою очередь, чем от них отличается C++17... А через год, глядишь, и опять разбираться придется; либо, впопыхах впихивая новые фишечки, старое компилиться перестанет А тот же C99 уже как бэ не девочка и для разработки под МК его более чем хватает. Впрочем, дело вкуса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба Примерно также рассуждали адепты плоской земли, попутно сжигая на костре Джордано Бруно ... Потребность в новом инструменте возникает, когда старый слишком сильно затупился и тормозит дело. А дай неандертальцу отвертку, так он ею будет тыкать в сородичей :) Так что тут дело не вкуса, а скорее прогресса ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Darth Vader 0 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 1 hour ago, Arlleex said: А тот же C99 уже как бэ не девочка Да и С++11 уже не мальчик. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба В былинные времена были холивары асм-си. Дожили до си-си++. Жду с нетерпением си++11-си++17. Запасаюсь попкорном Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 18 июня, 2019 Опубликовано 18 июня, 2019 · Жалоба 24 минуты назад, scifi сказал: В былинные времена были холивары асм-си... Ну вот ассемблером я иногда, все же, пользуюсь. Редко, конечно, относительно основного кодирования, но, бывает. ИМХО, каждый работает с тем, с чем ему удобнее. Главное хорошо разбираться в своем же творческом беспорядке Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться