X const&
если ссылка на X
, которую вам не разрешено изменять посредством ссылки.Вы можете думать об этом как о доступе только для чтения.То, является ли X
сам по себе const
, не отражается в ссылочном типе.Обратите внимание, что вы можете инициализировать X const&
с объектами const
и не- const
:
X a;
X const b;
X const& r = a; // read-only-view on non-const X
X const& s = b; // read-only-view on const X
Важной частью является то, что вы не можете изменить X
через ссылку , но вы можете изменить a
напрямую, и это изменение будет отражено через r
.
X& const
запрещено стандартом, поскольку ссылкиво всяком случае, сами по себе никогда не могут быть изменены.