Здравствуйте, CreatorCray, Вы писали:
CC>Приходится?
Да.
CC>И кто же тебя заставляет так писать кроме твоего хронического пуризма?
Типы данных, которые ХЗ что из себя представляют. Типа:
auto keys = std::views::keys(some_container);
или:
auto parser = produce< authorization_value_t >(
token_p() >> to_lower() >> &authorization_value_t::auth_scheme,
maybe(
repeat( 1, N, space() ),
produce< auth_param_t >(
alternatives( token68_seq, params_seq )
) >> &authorization_value_t::auth_param
)
);
или совсем уж примитивное:
void f() {
...
const auto inner_func = [&](int v) { ... /* do something with v */ };
...
}
CC>Я, когда только auto появилось тоже попробовал так делать но быстро перестал ибо код становится просто отвратительным.
Ну что поделать, если руки кривые. Да еще и за всех не отучились говорить.
S>>Ну да. И в общем случае начинать описание локальных переменных с var лучше, чем с имени типа.
S>>S>>std::vector<some_type>::const_iterator start = v.begin();
S>>
CC>А вот какого хрена тут auto нету?
Потому что это пример. Нет мозгов это понять, давайте я вам другой пример напишу, в котором типы опускать не получается (из текущего проекта, но слегка изменен):
mdx::expression_tree::abstract_cell_provider_uptr provider = std::make_unique<mdx::expression_tree::cell_providers::distinct>(...);