|
12 / 12 / 5
Регистрация: 03.06.2016
Сообщений: 169
|
|||||||||||
Область видимости13.04.2019, 15:44. Показов 1274. Ответов 7
Метки нет (Все метки)
Здравствуйте.
Вот кусок кода
К тому же указатели s и d указывают на одно и тоже место. ПС Компилятор MSVC
0
|
|||||||||||
| 13.04.2019, 15:44 | |
|
Ответы с готовыми решениями:
7
Область видимости Область видимости Область видимости в С++ |
|
19495 / 10100 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|||
| 13.04.2019, 16:01 | |||
k еще никто не успел занять.Попробуйте разные настройки оптимизации, или, например, поменять местами вывод *s и *d. Также попробуйте другие компиляторы. Также вам необходимо понять, что код содержит неопределенные поведение с момента, когда вы попытались разыменовать невалидный указатель. Объект k завершил свою жизнь по выходу из области функции, попытки дальнейшего доступа к его трупу могут завершиться чем угодно, в том числе и предоставить видимость нормального поведения.Добавлено через 2 минуты Просто с определенного момента память перестает считаться занятой и дальнейшее выполнение может как использовать этот участок сразу, так и нет. Тот период, когда вы видите нормальное значение - это следствие того, что дальнейший код еще не успел в своей работе задействовать этот участок под свои нужды.
0
|
|||
|
12 / 12 / 5
Регистрация: 03.06.2016
Сообщений: 169
|
||
| 13.04.2019, 16:48 [ТС] | ||
|
Я так понимаю что в момент вывода
[CPP] std::cout << *d << std::endl; [CPP] переменная освобождается и результат может быть не предсказуемым, а у меня выводит 12345 потому что в память ничего не записалось.
0
|
||
|
19495 / 10100 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
||
| 13.04.2019, 16:58 | ||
|
Опять же, в рамках MSVС++ можно понаблюдать: Поведение как у вас (почти): https://rextester.com/KQZM71893 Поменял местами *d и *s, теперь как будто бы указатель d, вместо s ведет себя "правильно": https://rextester.com/MHJ13355 Добавил ключ оптимизации O2: https://rextester.com/FWHKR73776
1
|
||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 13.04.2019, 17:00 | |
|
1
|
|
|
19495 / 10100 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
||
| 13.04.2019, 17:02 | ||
Сообщение было отмечено MINO как решение
РешениеТакой указатель считается невалидным, "висячим", и вы не имеете права использовать его для разыменования, потому что в этом случае эта операция приводит к неопределенному поведению. В общем-то на этом можно закончить разбираться в ситуации, т.к. остальные эффекты зависят, грубо говоря, от фазы Луны.
1
|
||
|
12 / 12 / 5
Регистрация: 03.06.2016
Сообщений: 169
|
||||||
| 13.04.2019, 17:47 [ТС] | ||||||
|
Спасибо за пояснение. Я вабще зачем это все начал смотреть, после очередной лекции на курсах преподаватель рассказывал про умные компиляторы, и преподаватель заявил что код
0
|
||||||
|
19495 / 10100 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|
| 13.04.2019, 17:55 | |
|
0
|
|
| 13.04.2019, 17:55 | |
|
Помогаю со студенческими работами здесь
8
Область видимости Область видимости Область видимости файла Область видимости переменных Область видимости Protected Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|