Простое решение C ++ 17 со структурированными привязками:
std::pair<int, int> func();
int main()
{
std::vector<int> vec;
vec.reserve(2);
const auto [a, b] = func();
vec.push_back(a);
vec.push_back(b);
}
живой пример на godbolt.org
C++ Расширение 17 пакетов:
const auto vec = std::apply([](auto... xs)
{
return std::vector{xs...};
}, func());
живой пример на godbolt.org
C ++ 17 расширений решение(в существующем векторе):
std::vector<int> vec;
std::apply([&vec](auto... xs)
{
(vec.push_back(xs), ...);
}, func());