У меня проблемы со ссылками. Рассмотрим этот код:
void pseudo_increase(int a){a++;}
int main(){
int a = 0;
//..
pseudo_increase(a);
//..
}
Здесь значение переменной a
не будет увеличиваться, так как передается ее клон или копия, а не сама переменная.
Теперь рассмотрим другой пример:
void true_increase(int& a){a++;}
int main(){
int a = 0;
//..
true_increase(a);
//..
}
Здесь говорится, что значение a
увеличится - но почему?
При вызове true_increase(a)
будет передана копия a
. Это будет другая переменная. Следовательно, &a
будет отличаться от истинного адреса a
. Так как же увеличивается значение a
?
Поправьте меня, если я ошибаюсь.