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

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

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

18 ответов

29 просмотров

Разыменование 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, а то, что этот пример страшно признавать таковым... :)

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта