Итак, я понимаю, что const T&
и T const&
идентичны, и оба означают ссылку на const T. В обоих случаях ссылка также постоянна (ссылки не могут быть переназначены, в отличие от указателей). В моем ограниченном опыте я заметил, что большинство программистов на С++ используют const T&
, но я столкнулся с несколькими людьми, которые используют T const&
. Я использую const T&
просто потому, что узнал его таким образом, и поэтому T const&
выглядит немного смешно для меня. В чем причина использования используемого вами варианта? Кто-нибудь из вас работает в организации, для которой стандарты кодирования предусматривают использование одного варианта над другим?
Изменить
Основываясь на ответах, кажется, что одна из причин выбора между ними состоит в том, хотите ли вы прочитать ее как компилятор (справа налево) или как английский (слева направо). Если читать его, как компилятор, то "T const &" читается как "& (reference) const (к константе) T (типа T)". Если читать его как английский, слева направо, то "const T &" читается как "постоянный объект типа T в виде ссылки". Я предпочитаю читать его, как английскую прозу, но я, безусловно, вижу смысл в интерпретации его так, как это делает компилятор.
Никто не ответил на вопрос об организации или стандартах кодирования, но я сильно подозреваю, что большинство организаций не накладывают друг на друга одного, но могут стремиться к согласованности.