Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
TheThe
6 / 6 / 4
Регистрация: 26.06.2015
Сообщений: 83
1

Получение адреса объекта после обнуления указателя на этот объект

16.01.2016, 19:46. Просмотров 799. Ответов 3
Метки нет (Все метки)

Добрый вечер уважаемые программисты. Интересует следующий вопрос. Есть ли способ получить адрес объекта, после того, как указатель на него был обнулен.
В демонстрационных целях приведу следующий фрагмент кода.
Действия происходят в функции main().
C++
1
2
3
4
5
...
int *a=new int(1);     // после new получаем, к примеру, адрес 0xABC123
 
a=0;                // после обнуления указателя, на адрес 0xABC123 ничего не указывает. 
...
Есть ли способ вернуть указатель на адрес 0xABC123.
Спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2016, 19:46
Ответы с готовыми решениями:

Получение указателя на метод объекта по его имени
Доброго времени суток. Как получить метод объекта имея в строковой переменной...

Создание указателя на экземпляр класса, описанного после объявления указателя
Здравствуйте! Проблема в том, что нужно сделать так: class A{ public: B*...

интерфейс, в методе которого создается объект типа IDictionary и возвращается ссылка на этот объект
Привет всем. Необходимо реализовать интерфейс, в методе которого создается...

Как преобразовать ссылку на объект в указатель на этот объект?
Как преобразовать ссылку на объект в указатель на этот объект? Буду благодарен...

Изменение адреса указателя
Здравствуйте. Обращаюсь к форуму по следующему вопросу: как можно изменить...

3
Croessmah
++Ͻ
14777 / 8453 / 1605
Регистрация: 27.09.2012
Сообщений: 20,803
Записей в блоге: 2
Завершенные тесты: 1
16.01.2016, 19:52 2
Лучший ответ Сообщение было отмечено TheThe как решение

Решение

Цитата Сообщение от TheThe Посмотреть сообщение
Есть ли способ вернуть указатель на адрес 0xABC123.
как минимум стандартных - нет.
На то она и утечка.
1
DrOffset
9014 / 4861 / 1196
Регистрация: 30.01.2014
Сообщений: 7,942
16.01.2016, 19:53 3
Лучший ответ Сообщение было отмечено TheThe как решение

Решение

Цитата Сообщение от TheThe Посмотреть сообщение
Есть ли способ вернуть указатель на адрес 0xABC123.
В случае, если это был единственный такой указатель в программе, то нет.
Да и незачем это. Программист распределяет ресурсы в своей программе. Если он занулил единственный указатель, который содержал адрес динамического объекта, то это просто-напросто логическая ошибка в коде. Возможность получить (даже если бы она была) этот указатель назад каким-либо образом не решала бы логическую проблему: лечила бы только следствие, а не причину.
1
TheThe
6 / 6 / 4
Регистрация: 26.06.2015
Сообщений: 83
16.01.2016, 20:00  [ТС] 4
Понял, спасибо за оперативные ответы!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2016, 20:00

Динамическое указание адреса указателя
мне нужно сделать int * a=(int*)0x123ff; cout<<a; динамически. Кто...

Понимание адреса, ссылки и указателя
Гм... Конечно, стремно создавать подобную тему, однако, уж очень захотелось...

Возврат указателя на локальный объект
Доброго дня! Заинтересовал процесс возврата указателя на локальный объек, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru