Const antes ou depois da const?

Para começar, você provavelmente sabe queconst pode ser usado para tornar os dados de um objeto ou um ponteiro não modificável ou ambo

const Object* obj; // can't change data
Object* const obj; // can't change pointer
const Object* const obj; // can't change data or pointer

No entanto, você também pode usar a sintaxe:

Object const *obj; // same as const Object* obj;

A única coisa que parece importar é de que lado do asterisco você coloca oconst palavra-chave. Pessoalmente, prefiro colocarconst à esquerda do tipo para especificar que os dados não são modificáveis, pois acho que eles são melhores na minha mentalidade da esquerda para a direita, mas qual sintaxe veio primeir

Mais importante ainda: por que existem duas maneiras corretas de especificarconst data e em que situação você prefere ou precisa um sobre o outro, se houve

Editar

Parece que essa foi uma decisão arbitrária quando o padrão de como os compiladores devem interpretar as coisas foi elaborado muito antes de eu nascer. Desde aconst é aplicado à esquerda da palavra-chave (por padrão?) Acho que eles acharam que não havia mal em adicionar "atalhos" para aplicar palavras-chave e digitar qualificadores de outras maneiras, pelo menos até que a declaração seja alterada analisando um * ou & ...

Este foi o caso em C também, então estou assumindo?

questionAnswers(6)

yourAnswerToTheQuestion