Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2015, 20:15   #11
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Для чего нужны псевдонимы, если все действия выполняются с истинной переменной?
Ссылки нужны, например, как уже написали, для передачи ссылки в функцию, чтобы работать с нужным объектом. Также для возврата ссылки на какой-то объект. Для избежания копирования объекта. Еще можно привязать временный объект к ссылке:

Код:
struct some_struct
{
} ;


some_struct make_some_struct ()
{
   return some_struct() ;
}


int main ()
{
   const some_struct & objRef = make_some_struct () ;
}
Ну и т.д.
Вообще, это есть в любом учебнике.
Croessmah вне форума Ответить с цитированием
Старый 29.08.2015, 20:36   #12
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Xoce05 Посмотреть сообщение
передаёте через аргумент (a) что вы меня путаете!
Я ничего не путаю. Это Вы запутались. Переменная (а) передаётся в функцию. В теле функции, создаётся псевдоним этой переменной. При выходе из функции, переменная, с псевдонимом которой мы работали, возвращает новое значение этой переменной.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 29.08.2015, 21:00   #13
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от Xoce05 Посмотреть сообщение
так если первый объект по ссылке забирает значение и меняет его, то меняется и само значение. и с первоначальным значением другие объекты работать не смогут. это должно быть понятно
А им и не надо с первоначальным, им надо видеть изменения, сделанные другими.
waleri вне форума Ответить с цитированием
Старый 29.08.2015, 22:10   #14
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Xoce05 Посмотреть сообщение
Для чего нужны псевдонимы, если все действия выполняются с истинной переменной?
вот для того и нужно,
что бы выполнять действие над "истинной переменной",
а не над копией.

пример:

Код:
void foo(int& v) 
{
    v = 10; //<--- изменяем состояние оригинального объекта
}

int main()
{
    int origin = 20;

    foo(origin);

    // вывод: origin = 20
    std::cout << "origin = " << origin << '\n';
}
альтернативный вариант - передача по указателю.
но это менее удобно, и менее грамотно в случаях,
когда ожидается работа с реально существующим объектом.
_Bers вне форума Ответить с цитированием
Старый 29.08.2015, 23:02   #15
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

для меня ссылка - это просто безопасный указатель.
f.hump вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для чего нужны функции javascript trilenium JavaScript, Ajax 1 11.08.2014 07:33
Для чего нужны подфорумы windows, linux??? vovken1997 Свободное общение 4 01.09.2012 00:16
Для чего нужны эти символы? Andrij Помощь студентам 0 01.11.2010 18:34
Для чего нужны ассемблерные вставки в RAD STUDIO 2009 manzar Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 07.01.2010 15:43
Для чего нужны типы данных? Вадим Буренков Паскаль, Turbo Pascal, PascalABC.NET 9 09.03.2009 21:42