You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Перенос предложения: голоса +6, -2 Автор идеи:Антон Полухин@apolukhin
std::tuple и std::pair отлично подходяд для обобщённого программирования, однако у них есть недостатки. Во первых, использующий их код сложно читать и понимать:
Объявление через структуру намного понятнее, видно за что какое поле отвечает, что в нём хранится. Использование структур тоже более понятное: return std::get<1>(value); сравните с return value.session_id;
Во вторых, агрегаты предоставляют более эффективные операции копирования, присваивания и перемещения:
Перенос предложения: голоса +6, -2
Автор идеи: Антон Полухин @apolukhin
std::tuple и std::pair отлично подходяд для обобщённого программирования, однако у них есть недостатки. Во первых, использующий их код сложно читать и понимать:
Объявление через структуру намного понятнее, видно за что какое поле отвечает, что в нём хранится. Использование структур тоже более понятное: return std::get<1>(value); сравните с return value.session_id;
Во вторых, агрегаты предоставляют более эффективные операции копирования, присваивания и перемещения:
Из-за вышеозвученных причин, многие компании рекомендуют использовать агрегаты вместо кортежей.
Однако, мы не можем использовать агрегаты в обобщённом коде (разве что мы воспользуемся библиотекой Boost.PFR):
Добавив функциональность кортежей к агрегатам мы получим все преимущества кортежей, не потеряв преимуществ агрегатов. Мы получим именованные кортежи.
The text was updated successfully, but these errors were encountered: