на возврат и в конце std::make_tuple, то вызов работает строго если функция определена до вызовов в других методах (в .cpp). Может ещё какие недостатки есть такого подхода. Как лучше делать ?
а что мешает написать std::tuple в возвращаемом типе и возвращать как return { 1, 2, 3 }?
А std::tuple сам тут сможет определить свои шаблонные параметры?
нет, я имею в виду написать конкретные типы
Тогда ничего не мешает. Вопрос как сделать лучше
лучше возвращать структурку
Если мне этот набор нужен только в одном/двух местах, стоит ли ради этого создавать отдельный тип?
В принципе оно наверное так. +10 К читаемости. Спасибо
Если можешь сделать функции auto возвращаемый тип, то можно структуру внутри функции определить, тогда она торчать наружу не будет, а к полям всё равно обращаться можно будет
Обращаться откуда ?
после вызова у результата
В том скоупе где получаю ?
Интересная техника. Изначально думал structured bindings' ом забирать.
Я попробовал что-то типа: auto Test() { struct type { int a, float b }; type t = { 5, 5.5 }; return t; } И получил ошибку, что требуется указать trailing type. Но как это сделать, ведь тип то внутри функции?
Потому что это в С++14 появилось
Вот оно чо...
Вывод типа возвращаемого значения
А стандартом разрешается декларация структур внутри функции?
Ну хотя бы код правильно написал?
Обсуждают сегодня