170 похожих чатов

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

имеют свой адрес но при этом ни на какой адрес в памяти не указывают и потом попытался вывести значение которое хранится по тому несуществующему адресу?я правильно понимаю?

18 ответов

26 просмотров

Разыменование nullptr в Стандарте обозначено как UB (undefined behavoir, неопределённое поведение), то есть, что именно произойдёт от разыменования nullptr зависит от ОС, компилятора, архитектуры процессора и проч, и проч, но никак самим языком не определяется

Hvost 🦊♠️
Разыменование nullptr в Стандарте обозначено как U...

Если ты знаешь, как тот или иной код поведёт себя в определённой среде — можешь рассчитывать на такое поведение, но в целом UB в коде следует избегать любой ценой

Gleb-Maksimov Автор вопроса

а то что я сказал имеет смысл?

Hvost 🦊♠️
Если ты знаешь, как тот или иной код поведёт себя ...

Как минимум потому что ты скорее всего не будешь знать, как этот код будет работать в другой среде, и портировать такой код или запускать его на разных платформах сложно

Gleb-Maksimov Автор вопроса
Gleb Maksimov
просто интересно

nullptr — это специальный указатель на специальную область в памяти, которая определяет указатель как "нулевой"

Gleb-Maksimov Автор вопроса

То есть я впринцепе правильно понял,то есть я обращаюсь непонятно к чему и соответственно получаю только Богу известно что

Hvost 🦊♠️
Если ты знаешь, как тот или иной код поведёт себя ...

>> Если ты знаешь, как тот или иной код поведёт себя в определённой среде Это касается в лучшем случае implementation-defined behavior. В случае UB же мы по определению не знаем, как поведет себя код, ведь его поведение может меняться в зависимости от фазы Луны, погоды на Марсе или от геополитической обстановки на спутниках Сатурна

Пашечка
Есть ещё unspecified behavior, там тоже можно ;)

Вообще, я не уверен, что unspecified behavior гарантирует детерминированное поведение – да, гарантирует адекватное поведение, но при этом любое допустимое без гарантии повторяемости, поэтому я намеренно решил не упоминать его в своём сообщении

Ofee Oficsu
Вообще, я не уверен, что unspecified behavior гара...

Я, если честно, до сих пор путаю иногда все эти поведения, а грань между implementation-defined и unspecified так и не нащупал. Лично я вполне затачиваюсь в кодах на unspecified, потому что у меня очень контролируемое окружение: я точно знаю версии glibc, gcc, msvc toolset, и проч, с чем собирается наше ПО. Но путь рискованный, да.

Слава
А когда обновляете его, то что делаете?

Страдаем и тестируем :) Это происходит примерно раз в 3-5 лет.

Vlad
int* a = nullptr; std::cout << &*a << std::endl; т...

Ну, в note же упоминалось где-то, что индирекция через нулевой указатель – UB, а то, что этот пример страшно признавать таковым... :)

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
5
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Карта сайта