Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TheThe
6 / 6 / 4
Регистрация: 26.06.2015
Сообщений: 83
#1

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

16.01.2016, 19:46. Просмотров 183. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Получение адреса объекта после обнуления указателя на этот объект (C++):

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

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

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

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

Возврат указателя на локальный объект - C++
Доброго дня! Заинтересовал процесс возврата указателя на локальный объек, а именно: char* fun() { char *ptr1 = "Hello world!"; ...

Удаление указателя на объект класса - C++
Что-то ни как не могу разобраться, где у меня ошибка?! Ниже приведен фрагмент кода: //... shapes *ptr=0; //ptr - указатель базового...

3
Croessmah
Ушел
13777 / 8027 / 927
Регистрация: 27.09.2012
Сообщений: 19,784
Записей в блоге: 3
Завершенные тесты: 1
16.01.2016, 19:52 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от TheThe Посмотреть сообщение
Есть ли способ вернуть указатель на адрес 0xABC123.
как минимум стандартных - нет.
На то она и утечка.
1
DrOffset
7517 / 4513 / 1025
Регистрация: 30.01.2014
Сообщений: 7,362
16.01.2016, 19:53 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от 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
Привет! Вот еще темы с ответами:

Создание указателя на объект и выделение памяти - C++
Не пойму почему при добавлении одного указателя выдает ошибку Этот код работает class A { public: class B { public: ...

Присвоение переменной поля указателя на объект - C++
Инициализация: Dragons* dragon; for (int i = 0; i <= 99; i++) { dragon = new Dragons(random(50), random(40), 3,8); } ...

Указатель на объект из указателя на член класса - C++
Что как-то сей вопрос ставит меня в тупик. class A { int i; } obj; int main()

Получение указателя на данные в векторе - C++
есть вектор std::vector<char> vLeftBuf(bs); есть ф-я которая в качестве параметра принимает const char * подскажите пожалуйста как...


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

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

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