@ProCxx

Страница 2290 из 2477
ofee
20.08.2018
18:14:31
Пример применения goto?
Не имею такого. Я вообще пропустил начало спора. Я же сказал, задумываться о нём раньше времени не следует. Не понадобится в жизни ни разу – и к лучшему, а понадобится – уже нужно детально разбираться, почему он тут, зачем, какие есть аналоги. И я, здраво смотря на вещи, не могу гарантировать, что он не понадобится никогда

Google
ofee
20.08.2018
18:18:05
Вот когда некоторая синтаксическая конструкция начинает настолько выпадать, что вы не можете придумать пример, начинает казаться, что оно не нужно от слова совсем :)
Казаться может что угодно, но это не повод к категоричным утверждениям на все случаи жизни. Итак, нам нужно математическое доказательство ненужности goto...

Или нужности...

Constantine
20.08.2018
18:19:08
Казаться может что угодно, но это не повод к категоричным утверждениям на все случаи жизни. Итак, нам нужно математическое доказательство ненужности goto...
Совершенно не обязательно :) Вот я слышал, что в русском языке в какой-то момент исчезли формы, аналогичные он/она/оно/они, а потом они ВНЕЗАПНО понадобились и были построены новые варианты

При этом маркер "кажется, это никому не нужно" очень существенный, если вам нужно - у вас в голове какая-то ошибка

Assasin
20.08.2018
18:20:12
все случаи точно покрываются while-ом)

Constantine
20.08.2018
18:20:47
а зачем нужен do while и for? все можно написать вполне читабельно и на обычном while)
do/while я лично не помню, когда последний раз использовал (и да, путаюсь в условии :) ) for - это сахар для while, да

у for есть преимущество в смысле обязательности третьей части

нельзя ошибиться с continue

Assasin
20.08.2018
18:21:30
for (int i = 0; i < 3; /* ой */);

Constantine
20.08.2018
18:22:10
ну это ладно, речь о том, что в for логика continue другая (и, зачастую, преобразование в while потребует еще немного букв из-за этого)

Google
ofee
20.08.2018
18:22:14
При этом маркер "кажется, это никому не нужно" очень существенный, если вам нужно - у вас в голове какая-то ошибка
Интересно, откуда такая категоричность. Особенно к чужим головам и неверифицируемым утверждениям...

Constantine
20.08.2018
18:23:26
Интересно, откуда такая категоричность. Особенно к чужим головам и неверифицируемым утверждениям...
Ну потому что на практике очень полезно. Как только вы ощущаете, что здесь бы typeid ифнуть на равенство - пора виртуальный метод дописывать.

for (int i = 0; i < 3; /* ой */);
я, кстати, последнее время скорее предпочел бы while выкинуть :)

Assasin
20.08.2018
18:25:59
#define while(...) for (; _VA_ARGS_ ;) =)

ofee
20.08.2018
18:26:07
Ну потому что на практике очень полезно. Как только вы ощущаете, что здесь бы typeid ифнуть на равенство - пора виртуальный метод дописывать.
Я не уверен, что данная аналогия близка к обсуждаемой теме. Как видите, ни я, ни вы не можем делать точных утверждений. Так к чему спор? Почему кто-то должен принять на веру одну из диаметрально противоположных позиций, пока можно жить, не волнуясь об этом?

Constantine
20.08.2018
18:27:52
#define while(...) for (; _VA_ARGS_ ;) =)
лучше #define while(...) __pragma(error("а чем тебе for не угодил?")) :)

Assasin
20.08.2018
18:28:23
и поместить этот дефайн в файл auto_code_review.h

Constantine
20.08.2018
18:30:17
Я не уверен, что данная аналогия близка к обсуждаемой теме. Как видите, ни я, ни вы не можем делать точных утверждений. Так к чему спор? Почему кто-то должен принять на веру одну из диаметрально противоположных позиций, пока можно жить, не волнуясь об этом?
В чем неточность? Я исхожу из предпосылки, что "я знаю, что Х как синтаксическая конструкция не используется" - полезно, потому что является триггером "у меня в голове ошибка". Отсюда я хочу знать, какие синтаксические конструкции относятся к этой категории. (и да, я практик, поэтому вместо формальных доказательств прошу хотя бы один пример)

ofee
20.08.2018
18:36:06
В чем неточность? Я исхожу из предпосылки, что "я знаю, что Х как синтаксическая конструкция не используется" - полезно, потому что является триггером "у меня в голове ошибка". Отсюда я хочу знать, какие синтаксические конструкции относятся к этой категории. (и да, я практик, поэтому вместо формальных доказательств прошу хотя бы один пример)
Неужели, как практик, вы будете утверждать, что всё неиспользуемое (вами) является ненужным? Как я сказал – я понятия не имею, нужна ли эта конструкция, но я никогда не возьмусь за категоричные утверждения о ненужности или неиспользуемости

ofee
20.08.2018
18:43:49
Неверно, я буду исходить из того, что это не нужно, пока не получу опровержение - это концепция наиболее консервативной гипотезы
А почему вы исходите именно из худшего, а не, например, лучшего? А я и вовсе не исхожу ни из чего, для меня оба варианта одинаково нейтральны. Я готов в равной степени принять как одно, так и другое при наличии доказательств, какой смысл ограничиваться заранее?

ofee
20.08.2018
18:47:41
Что значит "хуже" и "лучше"?
Да не имеет значение, я использовал именно такое слово лишь для выражения негативного отношения к оператору. Я не имел ввиду "объективно хуже/лучше"

Constantine
20.08.2018
18:48:55
Да не имеет значение, я использовал именно такое слово лишь для выражения негативного отношения к оператору. Я не имел ввиду "объективно хуже/лучше"
Почему я считаю, что та или иная конструкция лучше/хуже? Это вопрос к нейронке, я не умею формально выражать ??% её фактических знаний

ofee
20.08.2018
18:49:33
Почему между "не нужно" и "нужно" я выбираю "не нужно", когда не знаю примеров? Потому что летающий макаронный монстр
Понятия не имею. Такие решения стоит принимать на конкретном примере, а не заранее для сферического goto в вакууме...

Constantine
20.08.2018
18:50:04
Это не мешает мне считать, что виртуальная функция лучше, чем функция, которая делает switch-like-if по typeid переданного параметра

Constantine
20.08.2018
18:51:05
Если честно, я затруднять понять направление вашей мысли и, очевидно, слов
Я могу доказать, что вы знаете^W умеете использовать намного больше формальных правил, чем умеете формализовывать

Google
ofee
20.08.2018
18:53:38
Это не мешает мне считать, что виртуальная функция лучше, чем функция, которая делает switch-like-if по typeid переданного параметра
Если в конкретной ситуации вы так считаете и имеете конкретные аргументы – я совершенно не против, но распространять утверждение на каждый известный и не известный случай – плохо. Существуют ситуации совершено разной сложности и я не рискну предвидеть каждую и утверждать что-то о неизвестном

Xessao
20.08.2018
18:54:22
Иногда этот чат не понять без пакетика травки.

Господин
20.08.2018
20:01:06
Эдсгер Вайб Дейкстра "О вреде оператора Go To"

Ilia
20.08.2018
20:31:30
Эдсгер Вайб Дейкстра "О вреде оператора Go To"
Да этого Дейкстру давно на мыло пора... Придумал, панимаишь, Паскаль какой-то...

Rime
20.08.2018
20:39:48
Эдсгер Вайб Дейкстра "О вреде оператора Go To"
Почему goto это так плохо? Что если ты не хочешь комментить код или лучше, что если ты хочешь чтобы из-за определённого conditional твой код пошёл куда-то вообще подальше в какую-то рэндомную функцию наполовину и от туда дальше?)

Ilia
20.08.2018
20:45:31
Боязнь Go to сильно преувеличена. Один go to не делает код говнокодом. И говнокод жалко не всегда содержит go to

Hudd
20.08.2018
20:47:08
В clang'е используется goto.

(в коде самого кланга, я имею в виду)

Dmitry
20.08.2018
21:17:06
Иногда typeid тоже ok. Например какие-нибудь гетерогенные списки свойств у которых из виртуального только деструктор. Obj.properties.get<SomeProperty>(), а внутре фильтр/поиск по typeid.

Господин
20.08.2018
22:34:06
например?

Почему goto это так плохо? Что если ты не хочешь комментить код или лучше, что если ты хочешь чтобы из-за определённого conditional твой код пошёл куда-то вообще подальше в какую-то рэндомную функцию наполовину и от туда дальше?)

20.08.2018
22:38:50
(в коде самого кланга, я имею в виду)
и не только там. я видел в чистом C код с goto, в пределах одной функции на обработке ошибок. меня например не покоробило. читабельность есть и понимание что к чему тоже.

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

Vladislav
20.08.2018
22:47:34
linux-stable$ egrep '\sgoto\s.+;$' -r --include=\*.{c,h} . | wc -l 151789

ayaal
21.08.2018
01:16:55
я думал goto часто используется в coroutines

Egor
21.08.2018
01:26:32
в VS в NMake проекте, можно ли кастомные команды повесить на файл? на цель(проект)?

Макс
21.08.2018
04:21:22
Народ, как вам книга "Qt 5.10. Профессиональное программирование на C++"?

??▶️?? Yury
21.08.2018
04:43:29
Народ, как вам книга "Qt 5.10. Профессиональное программирование на C++"?
мне кажется что у Qt такая докуемнтация с примерами что книжки можно не покупать

Nik
21.08.2018
04:52:36
в VS в NMake проекте, можно ли кастомные команды повесить на файл? на цель(проект)?
Закопали бы вы эту стюардессу пока совсем поздно не стало...

Google
yuri
21.08.2018
05:45:20
Возвращаясь к изначальному тезису о множественном наследовании. Критика должна быть конструктивной, и если есть проект с множественным наследованием, то и следует предложить альтернативу без такого наследования. Проект — реализация ASN1 через COM-объекты. Написано на ATL. Используется у кучи клиентов для решения их, клиентов, задач.

Radio
21.08.2018
07:10:51
Друзья, кто-нибудь имел дело с Near Cache в Hazelcast ?

Kotbegemot
21.08.2018
09:22:15
а как называется утилита для выкусывания библиотеки из boost ?

Konstantin
21.08.2018
09:26:40
bcp

Kotbegemot
21.08.2018
09:28:19
оно спасибо

Igor
21.08.2018
09:39:11
...чо только не встречается в природе, а

Oleg
21.08.2018
09:57:03
обмазался виртуальным наследованием и что-то прямо не по себе стало

Andrey
21.08.2018
12:13:18
Запоздалый вброс про bind: https://godbolt.org/z/3MPfZI Код версии с bind включает виртуальный вызов и исполняется на два порядка медленнее
Интересно, я не знал. Правда это не виртуальный вызов, а просто косвенный, но выглядит так, что у gcc проблемы с инлайнингом вызовов через member function pointer. Т.е., чтобы замедлить ваш пример с лямбдой до уровня bind, достаточно написать timeExec<TIMES>("Lambda evaluation", [&result, fptr = &A::eval] { (result.*fptr)(); });

Ignat
21.08.2018
12:15:00
понятно, что можно сделать и лямбдам плохо, если очень хочется, но если писать код естественным образом, то в одном случае всё благополучно заинлайнится, а в другом — будет вызываться по указателю

(clang генерирует аналогичный код, так что нельзя сказать, что это косяк именно gcc)

Andrey
21.08.2018
12:29:22
ок, давайте согласимся на том, что std::bind проигрывает лямбдам еще и по перфомансу, если использовать его с member function pointer'ом в качестве первого аргумента

Alexander
21.08.2018
14:52:30
читаем правила

Google
Mr Earnest
21.08.2018
17:20:51
Ребят, привет. Кто нить писал на сях под питон? Есть нечто более интересное кроме офф докумы python api? Желательно на русском, можно с картинками и объясняющим диктором ?

Matwey
21.08.2018
17:21:37
Да официальная документация вполне норм

Anton
21.08.2018
17:21:42
Удобен и прост

Есть ещё swig

Mr Earnest
21.08.2018
17:21:53
Есть boost python
Я пробовал, но под 3-ку там все у меня грустно было

Anton
21.08.2018
17:22:10
Есть ещё swig
Там кодогенерация

Страница 2290 из 2477