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

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

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

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

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

Небольшая путаница с указателями и ссылками.
Допустим,есть некий указатель p1, который указывает на экземпляр класса a1 в динамической памяти.
В следующей инструкции S (обозначим её так) в программе указатель p1 будет указывать на экземляр класса a2.
Необходимо как-то запомнить,куда указывал указатель p1 до инструкции S,чтобы потом работать с экземпляром a1.
Правильно ли я полагаю,что для этого необходимо объявить ссылку l1 и инициализировать её разыменовыванием указателя p1 до выполнения инструкции S?
Какой ещё существует способ/ы? (указатель вместо ссылки и т.д)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2010, 23:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатели и ссылки. Как сохранить адрес? (C++):

Убедиться, что адрес первого элемента массива и адрес, хранящийся в указатели на этот массив равны. - C++
Убедиться, что адрес первого элемента массива и адрес, хранящийся в указатели на этот массив - равны.

Как работают ссылки и указатели? - C++
Не нашел описание того, почему именно так работает, везде говорится только то, что так надо делать и все Аргумент функции является...

Указатели и ссылки. Имя массива как указатель - C++
7. Дан одномерный массив, состоящий из N целочисленных элементов. 7.1. Ввести массив с клавиатуры. 7.2. Найти минимальный положительный...

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

Как сохранить в бинарный файл ресурсы, указатели на которые лежат в векторе? - C++
Здравствуйте! Вот есть такая програмка: #include <iostream> #include <vector> #define FIELD_LENGHT 20 using namespace std; ...

Указатели в с++ указывают только на адрес? - C++
Например указатель int *p; Он может инициализироваться только адресом?(и ничем другим) например *p=&s

2
kazak
3048 / 2369 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
02.07.2010, 23:16 #2
Цитата Сообщение от #pragma Посмотреть сообщение
Необходимо как-то запомнить,куда указывал указатель p1 до инструкции S,
Можно использовать другой указатель.
1
Evg
Эксперт CАвтор FAQ
18248 / 6373 / 438
Регистрация: 30.03.2009
Сообщений: 17,640
Записей в блоге: 28
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;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2010, 08:41
Привет! Вот еще темы с ответами:

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

Указатели и ссылки? - C++
Ниже приведёна программы которая вызывает функцию. В функции происходит следующее создаются 2 массива в которые записыватся чётные и...

Указатели и ссылки [С++] - C++
Всем привет. я тут программу делаю. Цель: определить,принадлежит ли точка заданному промежутку(а точнее лежит внутри или снаружи фигуры)....

Указатели и ссылки - C++
Допустим, что есть функция, в которую мы кидаем массив по указателю и кол-ву элементов. void printArray(int *arr, int elements) ...


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

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

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