- 1
- 2
//Breakpoint
bool[] bp = new bool[1]; bp[1] = true;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
//Breakpoint
bool[] bp = new bool[1]; bp[1] = true;
Чувак сказал, что так ему удобнее.
Получается, мы тут имеем арраеблядство? так, что ли?
А то, что у автора - это программный брекпойнт.
Можно, конечно, сделать что-то типа того:
Но тут тоже может получиться оказия, если включены оптимизации. Скажем, у меня в подобной ситуации компилятор падал с Internal error, и я долго не мог понять, почему.
Возможно, C++ и есть та мистическая древняя шкатулка-головоломка.
Ты же понимаешь, что ядра самых популярных ОС написаны таки на сишке? Или мн продолжить мысль?
Впрочем, даже это не отменяет существование багов (помним же Meltdown со Spectre?)
Именно. Вот такие баги и есть самый прямой способ на действительно Undefined Behavior.
- це зрада чи перемога?
>> да и не особо нужна она в ведре
fixed point это и есть в целых числах. Когда ты хранишь цену в тысячных рубля/доллара/тугрика, ты неявно используешь fixed point.
Да вроде без разницы, какой знаменатель. Ты просто таскаешь мысленный фиксированный знаменатель повсюду, а все операции производишь на числителях.
Степени десятки нам понятнее, степени двойки имеют естественное машинное представление.
Да я уже понял, что накосячил, и поправил имена.
В Расте же вроде есть fixed, но это не точно
Конечно же есть. fixed point можно сделать из любого инта, нужно только решить, где точку поставить, и пару функций написать
В крестах можно как-нибудь красиво извернуться Но по сути fixed point это просто целое число.
Для ведра стандартная библиотека языка невероятно важна, ага.
Помнится, в линупсе джва бага удачно совпали - один позволял замапать страничку на нулевой адрес, а второй был банальным косяком с пропущенной проверкой на null в каком-то драйвере. Пиздец приходил даже не из-под админа.
Что, тот кусок говна выебал тебя и исчез, не прислав даже открытку на Восьмое Марта?
А ведь ещё с восьмидесятых годов ходит народная истина, что если негр говорит, что страсть как обожает и хочет увезти, - верить нельзя. Сольёт пару литров и съебёт обратно в Мозамбик или Камерун.
Хотя стоп. Как вообще в такой архитектуре отличать 0 от 0? (void *)0 и (void *)(int)0 ?
Если ты делишь нуль на нуль, то ответом должна быть единица, не так ли?
x^0 = 1
0^0 = 1 и 1^0 = 1 => 0 = 1
Ноль раввин идинитсэ!
Но:
0^n = 0 => 0^0 = 0
:(
Вы не понимаете, все эти неопределённости и нестыковки являются доказательством того, что нуля не существует! Вся математическая модель является неверной!
Это утверждение ошибочно.
> Поэтому все вычисления с ним тоже будут ошибочными!
Это утверждение также ошибочно.
Если f(x) = f(y), то это совсем не значит, что x = y :)
НО ЭТО ВСЁ ИЗ-ЗА НУЛЯ!!!
Оно истинно только тогда, когда x не равен 0. Так что это действительно из-за нуля.
Ну это и ежу понятно.
Просто если таки расширить деление на нуль для машинных интов, нарушив законы, то 0/0 = 1 кажется мне более логичным, чем любой другой ответ. «APL» думает так же:
Единственно, что переполнение редко возникает при работе с бытовыми числами, обозначающими количество каких-нибудь реальных предметов или объектов в памяти. А вот деление на ноль - может! Поэтому так исторически и сложилось, что /0 везде контролируется аппаратно, а переполнению такого значения не придали.
Это да. (прямо ностальгия по первому курсу пробила...)
Твой код попахивает говном немытыми носками, табачным дымом, кондомами и перегаром.
http://manpages.ubuntu.com/manpages/precise/ru/man1/aria2c.1.html
https://aria2.github.io/manual/ru/html/aria2c.html
Цикл будет крутиться, пока не скачает.
Если учился для галочки - да, конечно. И уклон в программирование, который Сёма пропагандирует, помог бы этим людям хотя бы на уровне технаря выйти, а не с полным нулём (хотя лучше бы они в технаре и учились, чтобы ресурсы не переводить впустую).
А остальные уже как-то умудряются работать, фрилансить, что-то своё пилить и т.п.
Ну и формально: композит пустого семейства равен нейтральному элементу, т.е. сумма 0 членов - это 0, а произведение 0 членов (в частности, нулевая степень) - это 1.
Хотя тут можно сказать, что это просто разные возведения в степень. Скажем, функция f(x) = x^3 определена при всех x, а g(x) = x^x - только при положительных (а то область определения на отрицательной полуоси была бы совсем уродской - только те рациональные значения, у которых знаменатель нечетный?). Но можно сказать, что это перегрузка операций, определяемая типом аргумента: в первом случае - операция возведения в целое число, а во втором - в действительное, и у каждой операции своя область определения.
С другой стороны, проще же просто исключение кинуть напрямую.