Ссылки не работают так же, как указатели: для указателей вы можете иметь «const pointers» (type * const p
) и «pointer to const» (const type * p
или type const * p
).
Но у вас нет этого для ссылок: ссылка всегда будет ссылаться на один и тот же объект;в этом смысле вы можете считать, что «ссылки» являются «константными ссылками» (точно так же, как вы можете иметь «константные указатели»).
Следовательно, что-то вроде «type & const ref» не разрешено.Вы можете иметь только «ссылку на тип» (type &ref
) и «ссылку на тип константы» (const type &ref
или type const &ref
; оба точно эквивалентны).
И последнее: даже если const type
звучит более корректно на английском языке, написание type const
позволяет более систематически понимать объявления «справа налево»: int const & ref
можно прочитать, имея «ref - это ссылка на константу int».Или более сложный пример: int const * const & ref
, ref - это ссылка на постоянный указатель на константу int.
Вывод: в вашем вопросе оба в точности эквивалентны.