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

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

Войти
Регистрация
Восстановить пароль
 
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
#1

Как доказать, что при "а = b" на место "а" возвращается ссылка? - C++

14.11.2013, 18:48. Просмотров 413. Ответов 13
Метки нет (Все метки)

Нужно доказать что при "a = b" на место "а" возвращается именно ссылка... Натолкните на мысль, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2013, 18:48     Как доказать, что при "а = b" на место "а" возвращается ссылка?
Посмотрите здесь:

Как сделать константными значения "m" и "n" C++
C++ Что такое "широкие" и "узкие" С-строки
C++ Ошибка при отображении русских шрифтов в консоли: "error LNK2019: ссылка на неразрешенный внешний символ"
C++ Что происходит когда например "char* g="fdgag";"?
Как сделать поле с "|", #, "-" и цифрами C++
C++ Как заменить функцию printf из "С" в "С++"?
как сделать , что бы при вводе слова "Minsk" у меня выполнялось действие? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 810
Записей в блоге: 5
Завершенные тесты: 1
14.11.2013, 19:15     Как доказать, что при "а = b" на место "а" возвращается ссылка? #2
если работают ужосы типа x=sqrt(a =2*x) или a=b=c то наверна так
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
14.11.2013, 19:20  [ТС]     Как доказать, что при "а = b" на место "а" возвращается ссылка? #3
Так то оно так, нужно конкретно(явно) доказать что возвращается именно ссылка...
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
14.11.2013, 19:22     Как доказать, что при "а = b" на место "а" возвращается ссылка? #4
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 810
Записей в блоге: 5
Завершенные тесты: 1
14.11.2013, 19:24     Как доказать, что при "а = b" на место "а" возвращается ссылка? #5
а как можно бы было присваивать по цепочке есди бы присваивание не возвращало ссылку на свой левый аргумент?
C++
1
2
x = y = z = 1;
x = (y = (z = 1));
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
14.11.2013, 19:26     Как доказать, что при "а = b" на место "а" возвращается ссылка? #6
Евгений Буланов, Вы хотите доказать,что a и b это один и тот же объект?
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
14.11.2013, 20:04  [ТС]     Как доказать, что при "а = b" на место "а" возвращается ссылка? #7
нет, нет... нужно было доказать что при "a = b" на место "а" возвращается именно ссылка

Добавлено через 39 секунд
ребята, благодарю всех, задачу решил!
ElenaBilyk
4 / 4 / 1
Регистрация: 22.10.2013
Сообщений: 34
14.11.2013, 20:09     Как доказать, что при "а = b" на место "а" возвращается ссылка? #8
Интересно как?))
Croessmah
Модератор
Эксперт CЭксперт С++
12878 / 7264 / 810
Регистрация: 27.09.2012
Сообщений: 17,948
Записей в блоге: 2
Завершенные тесты: 1
14.11.2013, 20:17     Как доказать, что при "а = b" на место "а" возвращается ссылка? #9
Цитата Сообщение от ElenaBilyk Посмотреть сообщение
Интересно как?))
C++
1
2
3
if ( &a == &b ) {
   //то a и b - это один объект
}
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 810
Записей в блоге: 5
Завершенные тесты: 1
15.11.2013, 10:10     Как доказать, что при "а = b" на место "а" возвращается ссылка? #10
Это, конечно, +
Но у ТС вроде речь шла о присваивании?
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
15.11.2013, 12:40     Как доказать, что при "а = b" на место "а" возвращается ссылка? #11
Цитата Сообщение от ПерС Посмотреть сообщение
Но у ТС вроде речь шла о присваивании?
присвоили, а потом сравнили.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
15.11.2013, 12:57     Как доказать, что при "а = b" на место "а" возвращается ссылка? #12
Цитата Сообщение от metaluga145 Посмотреть сообщение
присвоили, а потом сравнили.
И что? Вопрос действительно странный.
Если сравнивать &a и &b, то с проверкой работы присваивания это не будет иметь ничего общего, т.к адреса а и б, которые тут сравниваются, по любому разные ибо а и б это 2 разных переменных!
Если уж замутить, что-то для проверки ссылки, возвращаемой оператором =,
То это должно быть как-то так:
C++
1
if (&a == &(a=b)  )
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
15.11.2013, 13:07     Как доказать, что при "а = b" на место "а" возвращается ссылка? #13
Kuzia domovenok, если честно, то вообще я не сильно понял изначальный вопрос Если Вы поняли вопрос, то объясните)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2013, 13:24     Как доказать, что при "а = b" на место "а" возвращается ссылка?
Еще ссылки по теме:

Что применить "\n" или "endl"? C++
C++ Дано натуральное число. Верно ли, что цифра "a" встречается в нем реже, чем цифра "b"?
Что означает конструкция "!!" и "!!!"? C++
C++ Что делать с этой ошибкой: "LNK2019: ссылка на неразрешенный внешний символ _WinMain@16"?
C++ "Ссылка на неразрешенный внешний символ _main в функции" при сборке

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

Или воспользуйтесь поиском по форуму:
viktorius
2 / 2 / 2
Регистрация: 24.02.2013
Сообщений: 105
15.11.2013, 13:24     Как доказать, что при "а = b" на место "а" возвращается ссылка? #14
Я бы так доказал:
Если речь идет о об операторе присваивания который возвращает ссылку на объект, то при возвращении измененного или не измененного "а" конструктор копии вызываться не будет и диструктор тоже, потому что возвращается ссылка. Если возвращается не ссылка то вызывается конструктор для создания возвращаемого объекта и диструктор для уничтожения.

Может я немного ошибся, если так, прошу меня поправить.
Yandex
Объявления
15.11.2013, 13:24     Как доказать, что при "а = b" на место "а" возвращается ссылка?
Ответ Создать тему
Опции темы

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