Я видел код, где переменные с ключевым словом регистра передаются ссылкой в функции. < /p>
Версия 1: < /p>
inline static void swap(register int &a, register int &b)
{
register int t = a;
a = b;
b = t;
}
< /code>
версия 2: < /p>
inline static void swap(register int a, register int b)
{
register int t = a;
a = b;
b = t;
}
< /code>
Каковы различия между двумя версиями? > и b хранятся в регистрах , поэтому контрольный оператор не должен иметь никакого влияния, поскольку изменения, внесенные в значения в этих регистрах, должны сохраняться по границе Caller-Callee, без использования эталонного оператора.
Подробнее здесь: https://stackoverflow.com/questions/247 ... -reference