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

возврат по ссылкам - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
05.11.2010, 21:03     возврат по ссылкам #1
На защиту лаб.работы препод требует рассказать о возврате по ссылкам. Зачем они? Как они описываются, какой у них плюс?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2010, 21:03     возврат по ссылкам
Посмотрите здесь:

возврат на верх C++
C++ Возврат указателя
Возврат значения С++ C++
возврат вектора из ф-ии C++
C++ Непонятки по ссылкам
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
06.11.2010, 01:59     возврат по ссылкам #2
http://ru.wikipedia.org/wiki/Ссылка_(C%2B%2B)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
06.11.2010, 02:06     возврат по ссылкам #3
Возврат по ссылке:

C++
1
2
3
4
5
6
7
8
9
10
//Шаблонная функция
template<class T>
//Так называемый геттер. Возвращает константную
//ссылку на объект типа T. 
//Если T - например вектор или другая сложная структура
//работает быстрее чем возврат по значению
const T& GetW() const
{
     return w;
}
Ну и вообще кроме скорости, это несколько безопаснее что-ли, но с другой стороны опаснее, ибо значение возвращенное по константной ссылке мы можем изменить. Но могу быть не прав.
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
07.11.2010, 21:45  [ТС]     возврат по ссылкам #4
я с этого примера ничего не понял, у нас - первый курс, ООП, можете написать наглядный пример, например, как передать несколько переменных ссылками?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
07.11.2010, 22:25     возврат по ссылкам #5
Цитата Сообщение от vaselo Посмотреть сообщение
рассказать о возврате по ссылкам.
возврат по ссылке используют для того чтобы функция могла стоять слева от знака равно, используется при перегрузке некоторых операторов
например
C++
1
2
3
4
5
myclass& myclass::operator += ( const myclass& D )
{
    var_1 += D.var_1;
    return *this;
}
такая перегрузка позволит написать
C++
1
2
myclass A, B(1), C(2);
A = B += C;
как передать несколько переменных ссылками?
C++
1
void myclass2::set( myclass1& A, const myclass1& B );
в даном примере передается две ссылки на объекты класса myclass1, объект А может изменятся, объект В не может измянятся так как стоит модификатор const, преимущество передачи по ссылке - экономия памяти, так как при обычной передачи параметров в функцию они копируются.
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
07.11.2010, 23:11  [ТС]     возврат по ссылкам #6
а вот, если у меня в функции получаются переменные минимум, максимум, и новый массив, я понял просто return arr[][], min, max; нельзя писать, покрайней мере препод ругнулся, когда я такое написал, вот как быть в таком случае: можно несколко ссылок написать типа *arr *min.....?

Добавлено через 39 минут
и вообще, без классов можно это сделать?
Yandex
Объявления
07.11.2010, 23:11     возврат по ссылкам
Ответ Создать тему
Опции темы

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