Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Во Франции одного ведущего (!) С++ программиста с ироничной фамилией Паскаль попросили таки ознакомиться со стандартными контейнерами из библиотеки STL. В частности с std::map. В итоге из-под палки он выдал вот такой "код". Возникает как минимум два вопроса:
1. производительность?
2. и зачем так многа букаф?
Меня больше всего умиляет, что для ID используется double. Если это его осознанное решение - к коду его больше пускать нельзя. Дать в руки Эксель и Визио, и пусть принимает великие архитектурные решения (кстати, все будут довольны).
Мне уже начинает казаться, что некий guest просто пытается побить рекорд по минусовому рейтингу, и для этого постоянно повторяет этот вопрос везде где это только можно и нельзя.
xaionaro озвучил мнение многих, и моё в том числе. Вопрос действительно повторяется кучу раз на сайте и зачастую совсем не к месту. Возможно даже это бот. Надеюсь достаточный аргумент?
ps: и честно говоря, все равно не вижу смысла "беситься" по поводу минусов...
А хорошо бы по этому утвержению ссылочку на стандарт?
Весьма верю, что после сложной операции с double, в значение могут закрасться "младшие биты", и тогда например
myDouble != sqrt(myDouble)*sqrt(myDouble)
В данной проге, судя по всему, сравниваются только ID, над которыми ни один даже самый отчаяный паскалист не станет так извращаться. Тобишь единственно, что с ними могло происходить, это серия присвоений. Или у тебя есть основания полагать, что результат не гарантирован даже в этом случае? В любом случае ссылка не помешает.
Всегда бесило, когда какой-то пост минусуют, а никаких аргументов не предоставят.
ps: и честно говоря, все равно не вижу смысла "беситься" по поводу минусов...
Проклятие Паскаля
Весьма верю, что после сложной операции с double, в значение могут закрасться "младшие биты", и тогда например В данной проге, судя по всему, сравниваются только ID, над которыми ни один даже самый отчаяный паскалист не станет так извращаться. Тобишь единственно, что с ними могло происходить, это серия присвоений. Или у тебя есть основания полагать, что результат не гарантирован даже в этом случае? В любом случае ссылка не помешает.
он же француз, они любят многабукаф. Ты просто половину букофф не читай и всё сразу станет нормально ))
выучил чувак STL. первая double определена как const ибо у map ключ const.
по поводу ==. map и set юзают понятие эквивалетности. иными словами должно быть
if((! (iter->first < ReceptacleId) && ! (ReceptacleId < iter->first) )
бла-бла;
а вообще чувак жжот. нахрена он хранит Weight если ему нужно лишь выяснить наличие или отсутствие данного ID в map?
не обратил внимание на ссылку