Моя интуиция и практика в течение длительного времени заключались в том, чтобы избежать параметров, если это вообще возможно. Я считаю, что функция должна иметь одну логическую цель и что обычно подразумевает один возвращаемый тип (не возвращающий несколько вещей). Иногда желательно возвращать несколько вещей (например, std :: map :: insert). Я знаю, что это можно сделать в виде пары/кортежа или в качестве выходных параметров; аргумент которого из тех, кто используется, менее важен для меня.Выходят ли устаревшие параметры?
Каковы концептуальные, конструктивные или служебные причины для предпочтения выходных параметров или возвращаемых значений?
как я думаю, что ваша функция может возвращать словарь значений или объект возвращаемых значений. например, если вы вычисляете деление, вам может понравиться знать некоторые вещи об этой операции, такие как bool_value, int_value, float_value и т. д. Но также вам может понравиться string_value или exception_value и так далее. – gaussblurinc
Те, кто голосует, закрываются: я не спрашиваю, куда помещать пространство, до или после '*'. Лучшие практики в соответствии с этим вопросом должны иметь конкретные причины, оправдывающие их, и должны быть бесспорными разумными людьми. Это мои $ 0.02 в любом случае ... – David