Я хотел бы автоматически выводить возвращаемый тип функции, которую я пишу. Пример:
std::vector<int> test(){
decltype(this_function) ret;
ret.push_back(5);
ret.push_back(9);
return ret;
}
Пока лучшее, что я достиг, -
std::vector<int> test(){
decltype(test()) ret;
ret.push_back(5);
ret.push_back(9);
return ret;
}
Работает, но:
-
Если я меняю имя функции, я должен изменить
decltype (тест())
в
decltype (имя())
-
Если я изменю параметры функции, я также должен изменить
decltype (тест())
в
decltype (тест (param1, param2))
Есть ли более элегантный способ сделать то же самое?