Во-первых, ваш код неверен.
Массив res - локальный для функции func, и использование указателя на него после возврата из функции - неопределённое поведение. Вам просто везло, что код работает.
Что касается решений - самое близкое к коду на питоне - это использовать std::tie (появившийся в C++11):
std::pair<int, int> func()
{
return std::make_pair(1, 2);
}
int x, y;
std::tie(x, y) = func();
Другой, наиболее общепринятый способ - в параметрах фунции передавать ссылки или указатели на переменные, в которые надо поместить ответ.
void func(int &res1, int & res2)
{
res1 = 1;
res2 = 2;
}
int x, y;
func(x, y);