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

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

Восстановить пароль Регистрация
 
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
03.12.2013, 23:43     Создание ссылки и возврат из функции #1
Есть вот такая функция, возвращает максимальный элемент.
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++
operator= возврат значения и просто ссылки C++
Возврат итератора из функции C++
Возврат ссылки C++
Возврат ссылки C++
Возврат значения функции C++
Создание объекта в функции и возврат объекта из нее C++
C++ Возврат константной ссылки из функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11834 / 6813 / 769
Регистрация: 27.09.2012
Сообщений: 16,886
Записей в блоге: 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     Создание ссылки и возврат из функции
Ответ Создать тему
Опции темы

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