Предположим, я сделал следующее:
int &f() {
static int x = 0;
return x;
}
void main() { f() = 5; }
Я понимаю, что эта функция возвращает ссылку на целое число (я пытался использовать эту функцию, возвращающую int&) .
Значит ли это, что в этом случае x будет равен 5?
Я действительно не понимаю, что f() = 5
в этом...
Кроме того, какое изменение он мог бы внести, если бы опустил «статический» выше? Я знаю, что static int — это целое число, которое существовало до того, как появилась программа, но я не уверен, что это поможет мне понять, какие изменения произойдут.
Я пытаюсь найти ответы на это с помощью отладчика.