У меня есть функция, которая работает с частью данных (скажем, int
), и я хочу изменить ее на месте, передав ссылку на значение. Таким образом, у меня есть функция: void myFunction(int *thing) { ... }
. Когда я использую это, я называю это так: myFunction(&anInt)
.
Поскольку моя функция вызывается часто (но из разных мест), я обеспокоен ее работой. Причина, по которой я преобразовал его в функцию, заключается в тестируемости и повторном использовании кода.
Сможет ли компилятор оптимизировать функцию, указав, что она будет работать непосредственно с моей переменной anInt
?
Надеюсь, вы примете этот вопрос в том духе, в котором он задан (т.е. я не преждевременно беспокоюсь об оптимизации, мне любопытно получить ответ) Точно так же я не хочу превращать это в макрос.