All streams
Search
Write a publication
Pull to refresh
Артур Конан Дойл @AntonSazonovread⁠-⁠only

Сэр

Send message

Честно говоря, статья — хрень полнейшая.
То ли автор говорит про Strict Aliasing Rules, то ли про то что указатель это не значение адреса памяти, то ли про оптимизации…
А потом еще пишет: "Так что такое указатель? Я не знаю полный ответ."
На своей волне где-то там плавает...

Интересный вы человек…
Отвечать на поток вопросов в стиле «кто вам сказал этот бред» я не намерен.
Ну ответьте хотя-бы на не бредовые вопросы.
Я Вас чем-то обидел?
Если PVS-Studio столкнётся с системой, где надо писать по нулевому указателю...
А есть такая вероятность?)
Может пишет, а может и не пишет. Зависит от настроения. Вы вообще к чему это спросили? Какое это имеет отношение к данной теме?

Вы можете ответить хотя бы на один из моих вопросов?
Разыменование нулевого указателя не является undefined behavior.
Согласно стандарту — является. В последнем черновике не удалось беглым взглядом найти это утверждение. Приведу другой источник.

Само по себе разыменовывание 0 теоретически означает разыменовывание 0 адреса...
Так я об этом и писал.

А и segfault — это ядро ругается, и это не часть стадарта.
Про segfault я ничего и не говорил. Это к товарищу vanxant.
По факту в большинстве взрослых архитектур и ос (16 битный дос не берем) первые 64к адресного пространства процессов огорожены или вообще не выделены, т.е. любое обращение к ним даст segfault.
По какому-такому факту? Кто вам сказал этот бред? Что значит «не выделены»? Кто их должен «выделять»?
Я легко могу обратиться к адресу ниже 64к на x86 без ОС.
И да, разделяйте понятия «архитектура» и «ОС».
Кстати, процессор архитектуры x86 изначально запускается в 16-битном режиме, а уж после (по требованию загрузчика или ОС) переходит в защещенный.
Уж очень интересно узнать… На каком языке?

Всегда с интересом читаю ваши статьи.
Но в данном случае мне непонятно одно… Почему стандарт языка, а за ним все следом говорят о том, что разыменование указателя с адресом 0 является UB? Ноль — это всего лишь адрес памяти к которому так же можно "достучаться" (я даже доказал это на одном известном форуме).
С таким же успехом можно сказать про любой указатель в любой программе.
Дело в том, что разработчики стандарта языка просто приняли за должное считать nullptr невалидным адресом. Но почему-то они не учли, что на языке C++ можно писать без конкретной ОС. Вообще без ОС, где по нулевому адресу (например на архитектуре x86) находится таблица векторов прерываний.
Хотелось бы услышать ваше мнение по этому поводу.

… прошу побольше критики!

Статья очень несодержательная.
Мало картинок.

Так как это один из первых проектов, прошу побольше критики!

Ваш код ужасен.

Всю статью не покидала мысль что же такое "eag". Надеюсь это не яйцо.

Два цикла while ввели меня в ступор…
Кстати, переменная key содержит один код клавиши или маску?

Зачем вы указываете хаб C++ если из C++ в статье всего три строки!?
Да. Сарказм. Просто ожидал увидеть хоть немного Си или C++ кода.
Тут я спорить не буду. Даже если у автора статьи есть вторая учётная запись то это простительно, на мой взгляд. Со стороны администрации можно сделать жест доброй воли и пренебречь правилами.
Другое дело, если вторая (третья, четвёртая ...) «учётка» была создана с другим умыслом и для других целей.
Кстати, а зачем инвайт? Просто статья в песочницу и всё.
Об этом писали чуть выше. Всё те же правила. При чём не в пользу публикатора.
Спасибо за выдержку. Давно читал, но вы напомнили.
Но в итоге, после выхода из песочницы, псевдоним всё же будет раскрыт.

Information

Rating
Does not participate
Location
Geghark'unik', Армения
Registered
Activity