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

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

Войти
Регистрация
Восстановить пароль
 
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
#1

Создание ссылки и возврат из функции - C++

03.12.2013, 23:43. Просмотров 268. Ответов 2
Метки нет (Все метки)

Есть вот такая функция, возвращает максимальный элемент.
C++
1
2
3
4
5
6
template <typename Type>
inline const Type max_(const Type& a, const Type& b)
{
    const Type &result = (a > b) ? a : b;
    return result;
}
result объявлен как const Type &;
Но что, если пределить просто как const Type?
От этого ничего не поменяется, проверил дизассемблированный код для примитивных типов и структуры, он одинаковый что с &, что без.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2013, 23:43     Создание ссылки и возврат из функции
Посмотрите здесь:

C++ Возврат ссылки из функции
Возврат ссылки на функцию. C++
C++ Возврат массива из функции
operator= возврат значения и просто ссылки C++
Возврат итератора из функции C++
Возврат ссылки C++
Возврат 2 значений из функции с одним вызовом этой же функции C++
Возврат ссылки C++
Создание объекта в функции и возврат объекта из нее C++
C++ Возврат константной ссылки из функции
Возврат ссылки на локальную переменную C++
C++ Возврат ссылки на закрытый элемент данных с++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12892 / 7278 / 811
Регистрация: 27.09.2012
Сообщений: 17,977
Записей в блоге: 2
Завершенные тесты: 1
03.12.2013, 23:47     Создание ссылки и возврат из функции #2
Цитата Сообщение от kebal Посмотреть сообщение
От этого ничего не поменяется, проверил дизассемблированный код для примитивных типов и структуры, он одинаковый что с &, что без.
оптимизация.
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
03.12.2013, 23:55  [ТС]     Создание ссылки и возврат из функции #3
Окей, а на самом деле что тогда происходит?
По идее там, где есть & значение копируется один раз только при возвращении, а без & один раз копируется при объявлении result, а второй раз при возвращении, верно?
Yandex
Объявления
03.12.2013, 23:55     Создание ссылки и возврат из функции
Ответ Создать тему
Опции темы

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