Pull to refresh
31

Software Developer

0,3
Rating
3
Subscribers
Send message

Протоны

Число запусков 426 (на 13.12.2021): успешных 379, неудачных 27, частично неудачных 20.

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

то делайте в нем что хотите (храните только валидный указатель)

"Делайте правильно, неправильно не делайте" - универсальный совет на любую проблему в программировании. Вопрос в том, как иметь гарантию, что указатель ненулевой и избежать лишних проверок. gsl::not_null решает эту проблему в некоторой мере. Он всё равно не может сказать, не была ли память по указателю освобождена. Ссылки в расте же закрывают и этот момент.

Если мне нужно сохранить валидный указатель в поле класса, а потом поменять на другой указатель, ссылка не позволит это сделать. Удачи построить бинарное дерево на ссылках.

программист не проверяет указатель на недействительность

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

Во-первых, SynthID - это и есть стеганография. Во-вторых, существуют методы, которые выдерживают сжатие в JPEG или, например, обрезку изображения.

Чиню

Ну понятно, что со старым проектом только и остаётся баги чинить. Проблема в том, что реальный мир меняется. Поменяется сильно - вас выкинут вместе с проектом. Для стран такой подход не катит, что бы сидел правитель и старательно сохранял status quo государства, и всё отлично шло по накатанной.

Языки, ставящие совместимость с C++ во главу, уже есть, например Carbon. Вот только популярности они не набирают.

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

Интересно, как из заметки вы пришли к выводу, что это стремление, а не одно из мнений? Всё же есть разница между заметкой, выражающей мнение, что что-то надо сделать, и готовыми уже введёнными белыми списками.

И будут абсолютно правы. Как быстро проходит молодость, так же быстро должна проходить и власть.

Джефф Безос отправляет на орбиту

Не отправляет.

А, ясно. В Норвегии ria.ru спокойно открывается.

Их точно именно Бельгия блокирует, а не Россия?

Программа, использующая UB, не является программой на языке Си. По сути вы хотите, чтобы компилятор Си компилировал программы, не написанные на языке Си.

пришлось ставить три компьютера и сравнивать результаты

Это защита от аппаратного сбоя, а не алгоритмического. Если писать некорректные программы, они сразу на всех компьютерах выдадут неверный результат.

Потому что ноль в знаменателе - UB, а программа на C/C++ не может пользоваться UB, компилятор вправе расчитывать на то, что программист предусмотрел, что ноля там не будет никогда. Поэтому сам факт наличия x в знаменателе чётко указывает на то, что нулю он не равен никогда.

Само собой, панику нельзя куда-то убрать, это было бы нарушением семантики языка. Как и сишный компилятор, компилятор раста просто следует правилам языка.

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

Неправда, отлично оптимизирует:

И язык С создавался как "переносимый ассемблер"... Я бы позволил такие вольности плюсам. Они, обычно, сильно дальше от аппаратуры. Но классическому, безплюсовому С... Это уже перебор.

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

1
23 ...

Information

Rating
2,993-rd
Registered
Activity