В этом случае нет никакой разницы.
Если у вас есть указатель или ссылка, изменение, которое может выглядеть почти таким же , является значительнымхоть.Дано что-то вроде:
T * a;
Позиция const
(или volatile
) относительно звездочки значима:
T const * a;
T * const a;
Первыйговорит, что a
является указателем на const T
(т. е. вы не можете изменить объект T, на который ссылается a
).Второй говорит, что a
является постоянной точкой для (неконстантной) T - то есть вы можете изменить то, что a
указывает на , но вы не можете изменить сам указатель,так что вы не можете указать его на другой объект.Конечно, вы также можете сделать оба:
T const * const a;
Это означает, что вы не можете изменить сам указатель или объект T
, к которому он относится.