Что-то вроде этого (да, это не касается некоторых случаев краев - это не точка):
int CountDigits(int num) { int count = 1; while (num >= 10) { count++; num /= 10; } return count; }
Каково ваше мнение об этом? То есть, используя аргументы функции в качестве локальных переменных.
Оба они помещены в стек, и в значительной степени идентичные производительности, я задаюсь вопросом о лучших практических аспектах этого.
Я чувствую себя идиотом, когда добавляю дополнительную и довольно избыточную линию к этой функции, состоящей из int numCopy = num
, но это меня беспокоит.
Как вы думаете? Следует ли это избегать?