Очень странный пример.
Между const [type]
и [type] const
вообще нет никакой разницы - оба раза const применяется к типу
const [type] const
- это двойное применение const к типу, что вызовет ошибку компиляции.
В случае если const стоит после звездочки, то оператор const применяется к указателю
То есть [type] * const
Так же возможны равнозанчные варианты
[type] const * const
и
const [type] * const
где const применен и к типу и к указателю
Говоря простыми словами:
1. Если const относится к типу (до звездочки), то данные по указателю менять нельзя
2. Если const относится к указателю (после звездочки), то нельзя менять менять сам указатель