В Google C++ Style Guide, он сказал:Руководство по стилю Google C++. Почему порядок ввода-вывода-вывода?
При определении функции, порядок параметра: входы, выходы.
В основном Google предложить параметр функции заказа, как:
void foo(const Foo& input1, const Foo& input2, Foo* output);
Однако мой коллега предположил, что вывод должен быть помещен в первое положение. потому что таким образом foo может принимать значения по умолчанию, и большая часть времени не будет использовать значение по умолчанию. например:
void foo(Foo* output, const Foo& input1, const Foo& input2 = default);
Я думаю, что он сказал, имеет смысл. Или есть что-то, чего нам не хватает здесь из аспектов читаемости, производительности, ...? Почему руководство по стилю предполагает, что вывод должен быть последним?
Я не думаю, что есть какие-либо преимущества производительности для того. Это в основном вопрос вкуса. Независимо от того, что вы выбираете, просто быть последовательным, это использование. Я думаю, что именно по этой причине он упоминается в руководящих принципах, согласованности. – Mustafa
Я предполагаю, что это единый стиль кода, оба из них доступны, и вы можете выбрать стиль, который лучше подходит для вашего требования. – wangxf
Еще одна мысль в примере Google «может быть» - это оптимизация компилятора; т. е. если его использование с определенными оптимизациями компилятора делает для определенного типа двоичных файлов, которые они хотят достичь, это может сделать, поскольку «сделать его стандартным». Думаю, я склоняюсь к тому, что это стиль по функциональности – txtechhelp