Size: a a a

cxx.Дискуссионная

2020 February 08

O

Ofee in cxx.Дискуссионная
Roy Mustang
Нет, мой вопрос был в другом, нужно ли использовать ссылочную декомпозицию или же оно автоматом ссылочная
Нет, автоматом она не ссылочная
источник

RM

Roy Mustang in cxx.Дискуссионная
Ofee
Нет, автоматом она не ссылочная
Вот
источник

RM

Roy Mustang in cxx.Дискуссионная
Получается, если мы используем её на map типе, то получим key и value по значению
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
От кортежа? С перфект форвардинг?
источник

O

Ofee in cxx.Дискуссионная
Igor Okhremchuk
От кортежа? С перфект форвардинг?
То ли я сонный, то ли тут каждый о своём...
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Не хочу смотреть. Что там понимается под декомпозицией?
источник

O

Ofee in cxx.Дискуссионная
Artöm Bakri Al-Sarmini
Не хочу смотреть. Что там понимается под декомпозицией?
Structured binding, кажется
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Посмотрел. Выбор +- такой же, как при передаче T в шаблонную функцию
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Ofee
Structured binding, кажется
Да, оно
источник

O

Ofee in cxx.Дискуссионная
Artöm Bakri Al-Sarmini
Да, оно
Я просто остановился на этом моменте, так что кто знает, что там дальше было...
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Artöm Bakri Al-Sarmini
Посмотрел. Выбор +- такой же, как при передаче T в шаблонную функцию
const auto& если не нужно менять, auto& если нужно, auto&& для "идеального приема", вполне можно считать дефолтным выбором. (const) auto если копировать дешево или инициализируещее выражение является ссылкой, которая протухает
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Roy Mustang
При декомпозиции std::pair или std::tuple я получаю значения или ссылки?
Условно ты получаешь non-reference lvalue. А так биндинг это по сути алиас для поля. При исследовании деклтайпом будет тот же тип, что и у поля
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Независимо от того, поставил ты & или нет
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Ofee
gcc-8 и c++17, если что, не ручаюсь, что тут нет нарушений стандарта...
Все по стандарту
источник

RM

Roy Mustang in cxx.Дискуссионная
Я по поводу auto&& не понял
источник

RM

Roy Mustang in cxx.Дискуссионная
Что за идеальный прием?
источник

RM

Roy Mustang in cxx.Дискуссионная
Это конкретно для декомпозиции или вообще в целом для всех типов?
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
auto&& t = f(); будет лвалуев или рвалуев ссылкой
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Roy Mustang
Что за идеальный прием?
Я не знаю, как это по-другому коротко назвать
источник

RM

Roy Mustang in cxx.Дискуссионная
Artöm Bakri Al-Sarmini
auto&& t = f(); будет лвалуев или рвалуев ссылкой
Сколько читал про lvalue и rvalue нихера не понял, я понял что lvalue - это переменные, которые можно изменить, а rvalue - это все что не lvalue, но все равно непонятно
источник