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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
ViviSex&I
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 9
#1

Подмена переменных для ссылок - C++

04.01.2011, 14:50. Просмотров 1505. Ответов 23
Метки нет (Все метки)

В общем, такое дело: преподаватель задала вопрос, на который я не смог ответить - как сделать так, что бы ссылка инициализированная на одну переменную указывала на другую?

Мои размышления:
Ссылка не может указывать на нул, по-этому поиграться с областью видимости, как это можно делать с указателями не получиться. Так же ссылка не дает инициализировать себя на указатель, хотя это немного не по условию, но результат был бы схож. Остается, как я понимаю, только работа с памятью. Поискал, но на вопрос ответа не нашел.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2011, 14:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подмена переменных для ссылок (C++):

Использование ссылок и обычных имен переменных - C++
Добрый вечер, у меня такой вопрос. Может быть он покажется довольно неинтересным вам, но мне просто надо понять кое-что. Ссылка - это...

Auto для определения ссылок - C++
Можете подсказать логику работы auto, почему при const int i = 1; auto& ref = i; // реф - const int& а при auto& ref = 23;...

Какие операции доступны для целочисленных переменных и недоступны для вещественных? - C++
Какие операции доступны для целочисленных переменных и недоступны для вещественных? 1.Арифметические операции (сложение, вычитание,...

Почему для обозначения ссылок используется именно символ &? - C++
Почему для обозначения ссылок используется именно символ &, а не какой-то другой? Ведь сам по себе символ & является оператором получения...

Написать (переделать) программу с использованием ссылок в качестве параметров функций для нахождения минимального элемента из 3-х заданных - C++
Просто нахождение написал. Подскажите как использовать ссылки (&) в качестве параметров функций. #include "stdafx.h" #include...

Как можно бы создать метод для ввода размерности (т.е. для ввода private переменных n,m)? - C++
Как можно бы создать метод для ввода размерности (т.е. для ввода private переменных n,m)? ( что только я не пробывал: то переменные...

23
ViviSex&I
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 9
04.01.2011, 22:59  [ТС] #16
Я имел ввиду, что можно сдвинуть саму переменную в памяти, а на ее место поставить другую, и тогда ссылка будет указывать на другую переменную.
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,470
04.01.2011, 23:10 #17
Да нет, так тоже нельзя
C++
1
2
3
4
5
6
7
#include <stdio.h>
int main () {
 int m;
 printf ("%x\n", &m);
 getchar ();
 return 0;
}
Так, а теперь пытаемся запихать переменную m в другую ячейку памяти. НЕ получается. Да и незачем оно по большому счёту.Сам понимаешь- какой смысл переменные туда-сюда гонять?
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.01.2011, 23:18 #18
Есть такое понятие как
rvalue references
но думать подходит или нет мне сейчас недосуг.
2
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
04.01.2011, 23:22 #19
ForEveR, я как раз об этом в 15 посте говорил, лень было пруф искать.
0
ViviSex&I
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 9
04.01.2011, 23:22  [ТС] #20
Цитата Сообщение от kravam Посмотреть сообщение
какой смысл переменные туда-сюда гонять?
Единственный способ, как мне казалось, сделать это
0
Evg
Эксперт CАвтор FAQ
17936 / 6164 / 409
Регистрация: 30.03.2009
Сообщений: 16,925
Записей в блоге: 27
05.01.2011, 12:06 #21
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ViviSex&I Посмотреть сообщение
Я имел ввиду, что можно сдвинуть саму переменную в памяти, а на ее место поставить другую, и тогда ссылка будет указывать на другую переменную.
Переменную нельзя "двигать". Переменная - это некая абстракция, описывающая машинный ресурс (регистр или память), а компилятор в соответствие переменной ставит ресурс (но не наоборот)

Вот одна из старых тем, где есть эквивалент на Си понятию "ссылка": Сравнение указателей и ссылок.

Цитата Сообщение от ForEveR Посмотреть сообщение
Есть такое понятие как
rvalue references
но думать подходит или нет мне сейчас недосуг.
Не думаю, что средний преподаватель об этом знает. Хотя данный вопрос, как мне кажется, выше уровня "среднего", потому что как минимум заставляет подумать. Но навряд ли преподаватель стал бы лезть с дебри c++0x
4
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.01.2011, 10:42 #22
Evg,
Цитата Сообщение от Evg Посмотреть сообщение
Но навряд ли преподаватель стал бы лезть с дебри c++0x
Да, если учесть, что он ещё не вышел. Тем более о каких мы говорим дебрях ещё не вышедшего стандарта, когда в большинстве вузов юзают компилятор от борладн си++ 3.1, который создавался, когда никакого стандарта ещё в проекте не было, и, думаю, преподы тоже дальше этого компилятора не уходили...
1
Evg
Эксперт CАвтор FAQ
17936 / 6164 / 409
Регистрация: 30.03.2009
Сообщений: 16,925
Записей в блоге: 27
06.01.2011, 12:14 #23
Цитата Сообщение от silent_1991 Посмотреть сообщение
Да, если учесть, что он ещё не вышел
Я на плюсах почти не программирую, так что не в курсе подобных тонкостей Но всё равно хотелось бы от автора услышать "правильный" ответ, который подразумевал преподаватель. Если он совпадает с нашим, значит не перевелись ещё те, кто может и хочет научить
0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.01.2011, 12:15 #24
Цитата Сообщение от Evg Посмотреть сообщение
не перевелись ещё те, кто может и хочет научить
Хотелось бы верить)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2011, 12:15
Привет! Вот еще темы с ответами:

Поменять местами значения целых переменных х и у не используя дополнительных переменных - C++
Знаю, что это очень простая задача, но никак не могу сделать, пожалуйста помогите!!! Поменять местами значения целых переменных х и у не...

Даны 5 переменных a,b,c,d,e - необходимо каждой из этих переменных присвоить число из текстового документа - C++
Есть у меня текстовый документ, в котором записаны 5 чисел. Каждое число в новой строчке. Предположим: 893 42 8 745 43 Даны 5...

Задание переменных для подпрограмм - C++
Добрый день! Не получается задать переменные для подпрограмм (a, b, N), их надо задать с консоли для всех 3-х подпрограмм. Подскажите...

Тип переменных для LPCTSTR? - C++
День добрый. Пишу на Lua, но вот пришлось делать dll для lua на c++. Внедрил в свою dll функцию с w32, но MVisual C++ 2010 тут же...


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

Или воспользуйтесь поиском по форуму:
24
Yandex
Объявления
06.01.2011, 12:15
Ответ Создать тему
Опции темы

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