Ссылки не работают так же, как указатели: для указателей у вас могут быть «const pointers» ( type * const p
) и «указатель на 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.
Вывод: в твоем вопросе оба абсолютно эквивалентны.