Форум программистов, компьютерный форум CyberForum.ru

Указатели и ссылки. Как сохранить адрес? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
#pragma
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
02.07.2010, 23:07     Указатели и ссылки. Как сохранить адрес? #1
Небольшая путаница с указателями и ссылками.
Допустим,есть некий указатель p1, который указывает на экземпляр класса a1 в динамической памяти.
В следующей инструкции S (обозначим её так) в программе указатель p1 будет указывать на экземляр класса a2.
Необходимо как-то запомнить,куда указывал указатель p1 до инструкции S,чтобы потом работать с экземпляром a1.
Правильно ли я полагаю,что для этого необходимо объявить ссылку l1 и инициализировать её разыменовыванием указателя p1 до выполнения инструкции S?
Какой ещё существует способ/ы? (указатель вместо ссылки и т.д)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2010, 23:07     Указатели и ссылки. Как сохранить адрес?
Посмотрите здесь:

C++ Указатели и ссылки. Имя массива как указатель
C++ Ссылки и указатели
Указатели и Ссылки C++
Как лучше передавать значения в функцию? Ссылки vs указатели C++
Указатели в с++ указывают только на адрес? C++
C++ Ссылки, указатели
C++ Как сохранить в бинарный файл ресурсы, указатели на которые лежат в векторе?
Как работают ссылки и указатели? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
02.07.2010, 23:16     Указатели и ссылки. Как сохранить адрес? #2
Цитата Сообщение от #pragma Посмотреть сообщение
Необходимо как-то запомнить,куда указывал указатель p1 до инструкции S,
Можно использовать другой указатель.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16821 / 5242 / 318
Регистрация: 30.03.2009
Сообщений: 14,118
Записей в блоге: 26
03.07.2010, 08:41     Указатели и ссылки. Как сохранить адрес? #3
С ссылкой нельзя, потому как потом ты из неё ничего не прочитаешь. Для порядку прочти тут Сравнение указателей и ссылок.

Указатель - это просто адрес и больше ничего. А потому, чтобы сохранить старое значение, нужно создать ещё одну переменную указатель и сохранить там. Точно так же, как если бы это был обычный int, а не указатель

C
1
2
3
4
5
6
7
8
9
10
int *p1;
p1 = &x;
...
/* Спасаем текущее значение и перенастраиваем p1 в другое место */
int *p2;
p2 = p1;
p1 = &y;
...
/* Восстанавливаем старое значение */
p1 = p2;
Yandex
Объявления
03.07.2010, 08:41     Указатели и ссылки. Как сохранить адрес?
Ответ Создать тему
Опции темы

Текущее время: 11:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru