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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
#pragma
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
#1

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

02.07.2010, 23:07. Просмотров 1782. Ответов 2
Метки нет (Все метки)

Небольшая путаница с указателями и ссылками.
Допустим,есть некий указатель 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++ Ссылки и указатели
C++ Указатели и ссылки
Указатели и ссылки? C++
Указатели и ссылки C++
Как лучше передавать значения в функцию? Ссылки vs указатели C++
Указатели и ссылки C++
Указатели в с++ указывают только на адрес? C++
C++ Как сохранить в бинарный файл ресурсы, указатели на которые лежат в векторе?
Как работают ссылки и указатели? C++
Ссылки и указатели C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3030 / 2351 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
02.07.2010, 23:16     Указатели и ссылки. Как сохранить адрес? #2
Цитата Сообщение от #pragma Посмотреть сообщение
Необходимо как-то запомнить,куда указывал указатель p1 до инструкции S,
Можно использовать другой указатель.
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17188 / 5442 / 337
Регистрация: 30.03.2009
Сообщений: 14,758
Записей в блоге: 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     Указатели и ссылки. Как сохранить адрес?
Ответ Создать тему
Опции темы

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