`auto` тип удержания для ссылок

Давайте рассмотрим следующий фрагмент кода

void Test()
  {
  int x = 0;

  int& rx = x;
  int* px = &x;

  auto apx = px;    // deduced type is int*
  auto arx = rx;    // deduced type is int
  }

Можно провести аналогию с типами указателей, ожидая, что выведенный типarx являетсяint&, но этоint по факту.

Какое правило в Стандарте регулирует это? В чем причина этого? Иногда я попадаюсь на такой случай:

const BigClass& GetBigClass();
...
auto ref_bigclass = GetBigClass();   // unexpected copy is performed

Ответы на вопрос(2)

Ваш ответ на вопрос