Możesz zwrócić std::pair, std::tuple, std::vector, albo jakąś własną strukturę. Każde z nich może zawierać w sobie co najmniej 2 wartości. Najsensowniejsza odpowiedź już padła. Nie musisz rozdzielać zmiennych w parze:
#include <iostream>
#include <utility>
auto addsubstract(int x, int y) {
return std::pair(x - y, x + y);
}
void show(int a, int b) {
std::cout << a << " " << b << '\n';
}
int main() {
std::apply(show, addsubstract(5, 2));
}