powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объясните пожалуйста назначение универсальных ссылок
7 сообщений из 7, страница 1 из 1
Объясните пожалуйста назначение универсальных ссылок
    #40097760
da17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
int count(const Container& container)
{
 int sum = 0;
 for (auto&& elt : container) {
 sum += 1;
 }
 return sum;
}


auto && elt что дает и что означает? Какую проблему решает?
почему бы не
const auto & elt
...
Рейтинг: 0 / 0
Объясните пожалуйста назначение универсальных ссылок
    #40097765
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da17,

Это идиома для range for loop, которая работает в любом случае, неважно что возвращает итератор котнейнера, T, T&, const T&.
Идиомы нужны чтобы не задумываться каждый раз когда пишешь однотипный код.
...
Рейтинг: 0 / 0
Объясните пожалуйста назначение универсальных ссылок
    #40097767
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маскирует баги производительности когда внезапно вылазит присваивание по
значению вместо ссылки или указателя.
Так же способ разыменования для автопеременных приходится угадывать методом тыка.

Но вообще автор спрашивал почему в конкретно этом коде двойной амперсанд... Он же даже не используется...
...
Рейтинг: 0 / 0
Объясните пожалуйста назначение универсальных ссылок
    #40097883
da17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Но вообще автор спрашивал почему в конкретно этом коде двойной амперсанд... Он же даже не используется...

из учебника по с++ 17 взял
...
Рейтинг: 0 / 0
Объясните пожалуйста назначение универсальных ссылок
    #40097884
da17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
da17,

Это идиома для range for loop, которая работает в любом случае, неважно что возвращает итератор котнейнера, T, T&, const T&.
Идиомы нужны чтобы не задумываться каждый раз когда пишешь однотипный код.

А в чем эта идиома заключается? Что бы элемент нельзя было бы изменять, но тогда можно было бы const T&.
...
Рейтинг: 0 / 0
Объясните пожалуйста назначение универсальных ссылок
    #40097991
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da17
А в чем эта идиома заключается? Что бы элемент нельзя было бы изменять, но тогда можно было бы const T&.

Наоборот. Она используется когда надо изменять.
Обычно, в шаблонах, когда неизвестен конркетный тип контейнера и непонятно что там возвращает разыменование итератора.

Если вам изменять не надо используйте const&
...
Рейтинг: 0 / 0
Объясните пожалуйста назначение универсальных ссылок
    #40098144
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объясните пожалуйста назначение универсальных ссылок
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]