|
12 / 12 / 5
Регистрация: 03.06.2016
Сообщений: 169
|
|||||||||||
Область видимости13.04.2019, 15:44. Показов 1315. Ответов 7
Метки нет (Все метки)
Здравствуйте.
Вот кусок кода
К тому же указатели s и d указывают на одно и тоже место. ПС Компилятор MSVC
0
|
|||||||||||
| 13.04.2019, 15:44 | |
|
Ответы с готовыми решениями:
7
Область видимости Область видимости Область видимости в С++ |
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
|||
| 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
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
||
| 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
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
||
| 13.04.2019, 17:02 | ||
Сообщение было отмечено MINO как решение
РешениеТакой указатель считается невалидным, "висячим", и вы не имеете права использовать его для разыменования, потому что в этом случае эта операция приводит к неопределенному поведению. В общем-то на этом можно закончить разбираться в ситуации, т.к. остальные эффекты зависят, грубо говоря, от фазы Луны.
1
|
||
|
12 / 12 / 5
Регистрация: 03.06.2016
Сообщений: 169
|
||||||
| 13.04.2019, 17:47 [ТС] | ||||||
|
Спасибо за пояснение. Я вабще зачем это все начал смотреть, после очередной лекции на курсах преподаватель рассказывал про умные компиляторы, и преподаватель заявил что код
0
|
||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
|
| 13.04.2019, 17:55 | |
|
0
|
|
| 13.04.2019, 17:55 | |
|
Помогаю со студенческими работами здесь
8
Область видимости Область видимости Область видимости файла Область видимости переменных Область видимости Protected Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|