Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

Avazart
2019-10-06 00:02:53

Да сейчас может засунуть ссылку уже куда по дальше, как бы поздно оправдываться.

Хамят боярам. Вы боярин? Так нех указывать что и кому делать...
Касательно грубости так сами  заслужили своим стилем общения.


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

Звучало бы убедительнее если бы это не говорил человек советующий начинающему глючную MSGEQ7 с которой сам не имел дел никогда.
(про "посыл" меня на другой форум в этой теме вообще молчу)

Kaka
2019-10-05 20:48:26

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

Avazart
2019-10-05 19:31:55

А что нормально в этом ответе?
Кроме того что там есть какой то глубинный смысл который я не понял... 
(ожидал нормальной аргументации: ссылки на статью или стандарт)

Kaka
2019-10-05 19:02:12
Avazart пише:

Вопрос как Вы на это отреагировали и как реагируете сейчас.

И как же я отреагировал? Написал: "Это кому как.", а на Ваше категоричное утверждение, что "Это не кому как это правило хорошего тона", добавил "Да, нет, это как раз "кому как". В одних местах тон такой, а в других - эдакий"

Что-то не так в моей реакции?

Avazart
2019-10-05 18:51:41

Вопрос не в том зачем я спрашивал...
Вопрос как Вы на это отреагировали и как реагируете сейчас.
Собственно ник соответствует поведению...
И так в принципе в каждом Вашем посте ...

То место на которое ссылаются по твоей ссылке я конечно знаю, но оно не про литералы. Именно это разночтение я и имел в виду, когда писал тебе "В одних местах тон такой, а в других - эдакий"

Конечно все должны читать Ваши мысли ....
И понимать  какие "труднодоступные" места Вы имеете ввиду.

Kaka
2019-10-05 18:12:39
Avazart пише:

Я не знаю насчет  пользовательских литералах.

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

Avazart пише:

Я говорил про обычное именование.

Ну, да, ты посмотрел на мой пример с литералами и сделал к нему замечание "про обычное применение". Зачем? Впрочем, можешь не отвечать, я уже всё понял.

Avazart
2019-10-05 17:50:21

Парень, никогда не спорь о том, чего ты не знаешь (и с теми. кого не знаешь).

Типа никогда не спорь с идиот big_smile м?

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

И я рад что хоть гуглить Вы за момент с последнего спора научились.

тем более со специалистами.

Тем более со специалистом по надменности и высокомерию ...   big_smile

Kaka
2019-10-05 17:29:52
Avazart пише:

Вы отказывались признать рекомендации не использовать нижнее подчеркивание в именовании

Парень, никогда не спорь о том, чего ты не знаешь (и с теми. кого не знаешь).

Речь там шла о пользовательских литералах. Ты о них раньше слышал? Писал их? А если нет, в чём я уверен, чего ж ты не посмотрел, а сразу спорить-то полез?

Так вот, именно в них (пользовательских литералах)  стандарт настоятельно рекомендует использовать подчерки для отделения собственно литерала от суффикса. А беподчерковые литералы считаются зарезервированными для развития языка (сейчас используются "l", "u" и т.п., но планируется расширять). Стандарт настолько настоятельно рекомендует всегда начинать пользовательский литерал с подчерка, что большинство компиляторов выдают предупреждение, если программист этого не сделал. Предупреждение выглядит вот так:

warning: literal operator suffixes not preceded by '_' are reserved for future standardization

Ну, и наконец, открой всё-таки стандарт ISO/IEC 14882:2017 и посмотри раздел 5.13.8 "User-defined literals" (стр. 37-38). Там много примеров пользовательских литералов, но найди хоть один, чтобы не с подчерка начинался!

То место на которое ссылаются по твоей ссылке я конечно знаю, но оно не про литералы. Именно это разночтение я и имел в виду, когда писал тебе "В одних местах тон такой, а в других - эдакий". С литералами - всё наоборот - без подчерков они зарезервированы! Мне не хотелось сажать тебя в лужу, я думал ты сам в этом разберёшься, но, похоже, гордыня и уверенность в собственной непогрешимости не позволили тебе этого сделать.

Так что, парень, не спорь о том, чего не знаешь, тем более со специалистами.

Надеюсь, недоразумение исчерпано?

Avazart
2019-10-05 15:57:57

Вы наверное что то попутали или причудилось, что-то не знаю.

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

Kaka
2019-10-05 13:53:42
Avazart пише:

Нет ориентироваться как раз нужно  в первую очередь на стандарт языка.

А чего ж Вы сами с упорством, достойным лучшего применения, в целой пачке постов настаивали, что я не прав, следуя его (стандарта) рекомендациям? smile

Avazart
2019-10-04 23:34:01

Нет ориентироваться как раз нужно  в первую очередь на стандарт языка.
Допустим сейчас Arduino IDE использует gcc как компилятор, а завтра вдруг взбредет в голову заменить на clang что будет с Вашим кодом?

Watchdog
2019-10-04 13:00:41
Kaka пише:
Watchdog пише:

в последних усовершенствованиях С/С++ (С11,С17) можно объявлять локальные массивы переменных с параметризированной длиной

Вы путаете, в стандарте такого нет, там требуется константное выражение (ISO/IEC 14882:2017, п. 11.3.4, стр. 220). Возможность иметь переменную - самодеятельность (расширение) GCC.

Watchdog пише:

для различных архитектур

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

Может и путаю, в этих стандартах чёрт ногу сломит и не все из них доступны даром. Искать я не хочу. Ардуино поддерживает три архитектуры: AVR-8, ARM-Cortex и MIPS-Tensilica. Настройка компилятора для *.ino как С++. GCC это не самодеятельность, это большая индустрия США. Стандарты, во всём мире, есть постфактум, кроме нас.

Kaka
2019-10-04 12:39:45
Watchdog пише:

в последних усовершенствованиях С/С++ (С11,С17) можно объявлять локальные массивы переменных с параметризированной длиной

Вы путаете, в стандарте такого нет, там требуется константное выражение (ISO/IEC 14882:2017, п. 11.3.4, стр. 220). Возможность иметь переменную - самодеятельность (расширение) GCC.

Watchdog пише:

для различных архитектур

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

Watchdog
2019-10-04 09:32:03
Kaka пише:
Watchdog пише:

По стандарту, должно быть константное выражение

Да. А если говорить конкретно про Ардуино (тут же специализированный форум), то там используется GCC, а у него есть расширение, которое вообще позволяет динамические массивы (т.е. даже константа времени компиляции необязательна).

Да, в последних усовершенствованиях С/С++ (С11,С17) можно объявлять локальные массивы переменных с параметризированной длиной, и инициализировать их списками констант. И ещё много всяких удобностей. Хочу сказать, что gcc и g++, для различных архитектур процессоров имеют свои особенности и не совсем совместимые. Ардуино - ведь это очень просто!

Kaka
2019-10-04 09:14:35
Watchdog пише:

По стандарту, должно быть константное выражение

Да. А если говорить конкретно про Ардуино (тут же специализированный форум), то там используется GCC, а у него есть расширение, которое вообще позволяет динамические массивы (т.е. даже константа времени компиляции необязательна). Например, вполне себе правильный  код

#include <Printing.h>

unsigned getSum(int nSize) {
	unsigned arr[nSize];
	for (int i = 0; i < nSize; i++) arr[i] = analogRead(1);
	for (int i = 1; i < nSize; i++) arr[0] += arr[i];
	return arr[0];
}

void setup(void) { 
	Serial.begin(115200);
	Serial << "Sum: " << getSum(5) << "\n";
}

void loop(void) {
}

Підвал форуму