Не делай этого. int
имеет тот же размер, что и указатель / ссылка на обычных 32-битных платформах, и меньше на 64-битных, поэтому вы можете получить преимущество в производительности вместо выгоды. Я имею в виду, что все аргументы функции помещаются в стек для того, чтобы функция могла их прочитать, и это будет либо ваш int, либо его адрес в случае ссылки. Другим недостатком является то, что вызываемый абонент будет либо обращаться к вашему n
через косвенное обращение (разыменование адреса), либо копировать его в стек в качестве оптимизации.
Если вы внесете некоторые изменения в int, переданное по значению, оно может быть записано либо обратно в место в стеке, где оно было передано, либо в новую позицию стека. Второй случай, естественно, не выгоден, но не должен происходить. Констатируя, вы запрещаете себе вносить такие изменения, но это будет работать так же с const int
.
В надлежащем встроенном случае это, разумеется, не имеет значения, но имейте в виду, что не все, где вы пишете в строке, будет.