Я должен определить, является ли эта функция синтаксически правильной:
int f3(int i, int j) { const int& k=i; ++i; return k; }
Я проверил это, и он компилируется с моей основной функцией.
Я не понимаю, почему это так.
Конечно, вызывая функцию f3
я создаю копии переменных i
и j
в новом пространстве памяти и устанавливаю const int& k=i
Я устанавливаю пространство памяти вновь созданного k
точно таким же пространством пространства памяти скопировано i
, поэтому любое изменение, то есть приращение ++i
приведет к ++k
, который не является возможным при условии, что он был установлен const
Любая помощь с благодарностью