Как создать простой неизменяемый int на C++? У меня есть функция:Иммутируемый int в C++
int NOD(const int &a, const int &b) {
if (b == 0) {return a;}
const int remainder = a % b;
return NOD(b, remainder);
}
, который должен взять два целых числа и возвращает наибольший общий делитель. Но я не нашел способ сделать и б неизменны, следовательно, они могут быть изменены в зависимости, например, если мы добавим строку в функции:
*(int *)&a = 555;
он ломает все. Как сделать неизменяемые переменные в C++?
Да, если вы отбросили все свои защиты, вы не получите никакой защиты. В какой-то момент это просто память и память. – xaxxon
@xaxxon есть способ сказать: 1. Эта память не изменчива и 2. Эта ссылка на эту память не изменчива? – USER
Возможно, какой-то вариант операционной системы может сделать что-то подобное, но он не является частью стандарта C++. Ссылки никогда не изменяются. – xaxxon