Используйте конструкцию или класс для возвращаемого значения. Использование std::pair
может работать пока, но
Возвращение структуры с самодокументируемыми именами переменных переменных вероятнее всего быть менее подверженным ошибкам для тех, кто использует вашу функцию. Надевая шляпу моего сотрудника на мгновение, ваша структура divide_result
легко для меня, потенциального пользователя вашей функции, сразу же понять через 2 секунды. Посылка с параметрами вывода или таинственными парами и кортежами потребует больше времени для чтения и может быть использована неправильно. И, скорее всего, даже после использования функции несколько раз я до сих пор не помню правильный порядок аргументов.